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;
42 / +0; // Infinity
42 / -0; // -Infinity
0.1 + 0.2; // 0.30000000000000004
IEEE 754
// 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
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.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
const x = "foo";
const y = 'bar';
const z = `qux`;
ES6
const x = "I'm your \"father\"";
const y = 'I\'m your "father"';
const z = `I'm your "father"`;
ES6
const x = "foo";
x[0]; // "f"
x[1]; // "o"
x[2]; // "o"
const x = "foo";
x.length; // 3
const x = "Saut de ligne\n";
const y = "Retour chariot\r";
const z = "Tabulation\t";
const x = "Veni";
const y = "vidi";
const z = "vici";
// Performant
x + " " + y + " " + z; // "Veni vidi vici"
// Lisible
`${x} ${y} ${z}`; // "Veni vidi vici"
ES6
true + " " + false + " " + null + " " + undefined + " " + NaN + " " + 0;
// "true false null undefined NaN 0"
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
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
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
https://interactly.glitch.me/
Benjamin Chazelle
iut@chazelle.pro