Skip to content

Commit 482740b

Browse files
Merge pull request #106 from nfabredev/translate-fr-playground-3-7-fixits
Translate to FR: playground/3-7/fixits
2 parents 2777fdd + a067344 commit 482740b

File tree

3 files changed

+83
-0
lines changed

3 files changed

+83
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//// { compiler: { target: 99 }, order: 1 }
2+
3+
// Saviez vous qu'il existe une limite à la taille des nombres qu'il est possible
4+
// de représenter en JavaScript ?
5+
6+
const maxHighValue = 9007199254740991;
7+
const maxLowValue = -9007199254740991;
8+
9+
// Si vous augmentez / diminuez d'une unité ces nombres vous commencez a courir un
10+
// risque.
11+
12+
const oneOverMax = 9007199254740992;
13+
const oneBelowMin = -9007199254740992;
14+
15+
// La solution pour manipuler des nombres de cette taille est de les convertir en
16+
// BigInts:
17+
//
18+
// https://developer.mozilla.org/fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/BigInt
19+
20+
// TypeScript désormais propose une correction automatique, pour des nombres
21+
// supérieurs à 2^52 (positif / negatif).
22+
// Cette correction automatique ajoute le suffixe "n", ce qui informe JavaScript
23+
// que le type doit être BigInt.
24+
25+
// Nombres
26+
9007199254740993;
27+
-9007199254740993;
28+
9007199254740994;
29+
-9007199254740994;
30+
31+
// Nombres hexadécimaux
32+
0x19999999999999;
33+
-0x19999999999999;
34+
0x20000000000000;
35+
-0x20000000000000;
36+
0x20000000000001;
37+
-0x20000000000001;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//// { compiler: { }, order: 1 }
2+
3+
// La version 3.7 apporte la capacité à convertir rapidement une déclaration
4+
// const en let quand elle est ré-assignée.
5+
6+
// Vous pouvez essayer ceci en surlignant l'erreur ci dessous et en éxecutant la correction automatique.
7+
8+
const displayName = "Andrew";
9+
10+
displayName = "Andrea";
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//// { compiler: { noImplicitAny: false }, order: 2 }
2+
3+
// Avec TypeScript 3.7 la correction automatique 'infer from usage'
4+
// s'améliore. Elle utilisera désormais une liste de types importants
5+
// (string, number, array, Promise)
6+
// et déduira si l'usage du type correspond a l'API de ces objets
7+
8+
// Au sein des examples suivants, sélectionnez les paramètres des fonctions,
9+
// cliquez sur l'icône en forme d'ampoule et choisissez
10+
// "Infer Parameter types..."
11+
12+
// Déduire une liste de nombres:
13+
14+
function pushNumber(arr) {
15+
arr.push(12);
16+
}
17+
18+
// Déduire une promesse:
19+
20+
function awaitPromise(promise) {
21+
promise.then((value) => console.log(value));
22+
}
23+
24+
// Déduire le type d'une fonction et son type de retour
25+
26+
function inferAny(app) {
27+
const result = app.use("hi");
28+
return result;
29+
}
30+
31+
// Déduire une liste de chaines de caractères, car une chaîne de caractères a été
32+
// ajoutée a cette liste:
33+
34+
function insertString(names) {
35+
names[1] = "hello";
36+
}

0 commit comments

Comments
 (0)