Number

Initialisation d'un nombre

let a = 42;

let b = 3.;

let c = 3.14;

let d = -20;

let e = 10e5;

let f = 0x20; // 32
let g = Infinity;

let h = -Infinity;

let i = NaN;
// = Not a Number

let j = +0;

let h = -0;

Division par 0

42 / +0; // Infinity

42 / -0; // -Infinity

Float precision

0.1 + 0.2; // 0.30000000000000004

IEEE 754

Transtypage d'un nombre

// De Number to String

const x = 42;

// Lisible
String(x); // "42"


// Performant
x + ""; // "42"
// De String à Number

const x = "42";

// Lisible
parseInt(x, 10); // 42
parseFloat(x); // 42

// Performant
+x; // 42

Test d'un nombre

isFinite(42); // true
isFinite(Infinity); // false
isFinite(-Infinity); // false
isFinite(NaN); // false
isFinite("42"); // false
isNaN(42); // false
isNaN(Infinity); // false
isNaN(-Infinity); // false
isNaN(NaN); // true
isNaN("42"); // false

Math

Math.round(100.7); // 101

Math.ceil(12.3); // 13

Math.floor(12.7); // 12

Math.random(); // 0

Math.PI; // 3.141592653589793

Math.cos(0); // 1

Math.min(2, 6); // 2

Math.max(2, 6); // 6

String

Initialisation d'un String

const x = "foo";

const y = 'bar';

const z = `qux`; 

ES6

Initialisation d'un String

const x = "I'm your \"father\"";

const y = 'I\'m your "father"';

const z = `I'm your "father"`; 

ES6

Accès à un String

const x = "foo";

x[0]; // "f"
x[1]; // "o"
x[2]; // "o"

Taille d'un String

const x = "foo";

x.length; // 3

Méta-caractères

const x = "Saut de ligne\n";

const y = "Retour chariot\r";

const z = "Tabulation\t";

Concaténation d'un String

const x = "Veni";
const y = "vidi";
const z = "vici";

// Performant
x + " " + y + " " + z; // "Veni vidi vici"

// Lisible
`${x} ${y} ${z}`; // "Veni vidi vici"

ES6

Concaténation d'un String

true + " " + false + " " + null + " " + undefined + " " + NaN + " " + 0;
// "true false null undefined NaN 0"

Méthodes de String

const x = "  JavaScript\n";

x.substring(4, 9); // "vaScr";

x.toUpperCase(); // "  JAVASCRIPT\n"

x.toLowerCase(); // "  javascript\n"

x.replace("a", "@"); // "  J@vaScript\n";
x.replace("a", /@/g); // "  J@v@Script\n";

x.indexOf("Java"); // 2
x.indexOf("Vue"); // -1


x.includes("Java"); // true

x.trim(); // "JavaScript";

ES6

RegExp

Initialisation d'une RegExp

const x = /^\d{4} \d{4} \d{4} \d{4}$/g; // Compact

const y = new RegExp("^\d{4} \d{4} \d{4} \d{4}$", "g"); // Performant

Tester une RegExp

const x = "I love JavaScript, Vue.js, Vuex and Vue-router";

x.match(/[A-Z][^, ]+/g); // ["JavaScript", "Vue.js", "Vuex", "Vue-router"]

x.match(/\d/g); // null

Prêt pour cette

nouvelle session interactive ?

 

https://interactly.glitch.me/

 

Parmi ces propositions, quels sont les valeurs correctes pour initialiser une variable de type number ?

 

Pour convertir la variable string x = "99" en number, je peux utiliser ?

 

Je peux faire des calculs mathématiques grâce à l'objet global

 

Je peux concaténer des strings via

 

Je peux tester une expression régulière /regex/ sur une chaîne "foo" via

 

Any question ?

Exercice : Transcripteur digital

 

JavaScript / Vue.js

 

 

 

Benjamin Chazelle

iut@chazelle.pro

[3] JS: Number, String, RegExp

By Benji Chaz

[3] JS: Number, String, RegExp

  • 45