File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
docs/playground/fr/3-7/Fixits Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ //// { compiler: { target: 99 }, order: 1 }
2
+
3
+ // Did you know there is a limit to how big of a number you
4
+ // can represent in JavaScript when writing ?
5
+
6
+ const maxHighValue = 9007199254740991 ;
7
+ const maxLowValue = - 9007199254740991 ;
8
+
9
+ // If you go one over/below these numbers
10
+ // then you start to get into dangerous territory.
11
+
12
+ const oneOverMax = 9007199254740992 ;
13
+ const oneBelowMin = - 9007199254740992 ;
14
+
15
+ // The solution for handling numbers of this size
16
+ // is to convert these numbers to BigInts instead
17
+ // of a number:
18
+ //
19
+ // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt
20
+
21
+ // TypeScript will now offer a fixit for number
22
+ // literals which are above 2^52 (positive / negative)
23
+ // which adds the suffix "n" which informs JavaScript
24
+ // that the type should be BigInt.
25
+
26
+ // Number literals
27
+ 9007199254740993 ;
28
+ - 9007199254740993 ;
29
+ 9007199254740994 ;
30
+ - 9007199254740994 ;
31
+
32
+ // Hex numbers
33
+ 0x19999999999999 ;
34
+ - 0x19999999999999 ;
35
+ 0x20000000000000 ;
36
+ - 0x20000000000000 ;
37
+ 0x20000000000001 ;
38
+ - 0x20000000000001 ;
You can’t perform that action at this time.
0 commit comments