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