You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/05-data-types/02-number/article.md
+24-18Lines changed: 24 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,46 +14,53 @@
14
14
let billion =1000000000;
15
15
```
16
16
17
-
Но в реальной жизни мы обычно опускаем запись множества нулей, так как можно легко ошибиться. Укороченная запись может выглядеть как `"1млрд"` или `"7.3млрд"` для 7 миллиардов 300 миллионов. Такой принцип работает для всех больших чисел.
17
+
Мы также можем использовать символ нижнего подчёркивания `_` в качестве разделителя:
18
18
19
-
В JavaScript можно использовать букву `"e"`, чтобы укоротить запись числа. Она добавляется к числу и заменяет указанное количество нулей:
19
+
```js
20
+
let billion =1_000_000_000
21
+
```
22
+
23
+
Символ нижнего подчёркивания `_` -- это «[синтаксический сахар](https://ru.wikipedia.org/wiki/Синтаксический_сахар)», он делает число более читабельным. Движок JavaScript попросту игнорирует `_` между цифрами, поэтому в примере выше получается точно такой же миллиард, как и в первом случае.
24
+
25
+
Однако в реальной жизни мы в основном стараемся не писать длинные последовательности нулей, так как можно легко ошибиться. Укороченная запись может выглядеть как `"1млрд"` или `"7.3млрд"` для 7 миллиардов 300 миллионов. Такой принцип работает для всех больших чисел.
26
+
27
+
В JavaScript, чтобы укоротить запись числа, мы можем добавить к нему букву `"e"` и указать необходимое количество нулей:
20
28
21
29
```js run
22
30
let billion =1e9; // 1 миллиард, буквально: 1 и 9 нулей
23
31
24
-
alert( 7.3e9 ); // 7.3 миллиардов (7,300,000,000)
32
+
alert( 7.3e9 ); // 7.3 миллиарда (7,300,000,000)
25
33
```
26
34
27
-
Другими словами, `"e"`производит операцию умножения числа на 1 с указанным количеством нулей.
35
+
Другими словами, `"e"`умножает число на `1` с указанным количеством нулей.
28
36
29
37
```js
30
-
1e3=1*1000
31
-
1.23e6=1.23*1000000
38
+
1e3===1*1000// e3 означает *1000
39
+
1.23e6===1.23*1000000// e6 означает *1000000
32
40
```
33
41
34
-
35
-
Сейчас давайте запишем что-нибудь очень маленькое. К примеру, 1 микросекунду (одна миллионная секунды):
42
+
А сейчас давайте запишем что-нибудь очень маленькое. К примеру, 1 микросекунду (одна миллионная секунды):
36
43
37
44
```js
38
-
letms=0.000001;
45
+
letmcs=0.000001;
39
46
```
40
47
41
-
Записать микросекунду в укороченном виде нам поможет `"e"`.
48
+
В этом случае нам также поможет `"e"`. Если мы хотим избежать записи длинной последовательности из нулей, мы можем сделать так:
42
49
43
50
```js
44
-
let ms =1e-6; // шесть нулей, слева от 1
51
+
let ms =1e-6; // шесть нулей слева от 1
45
52
```
46
53
47
-
Если мы подсчитаем количество нулей `0.000001`, их будет 6. Естественно, верная запись `1e-6`.
54
+
Если мы подсчитаем количество нулей в `0.000001`, их будет 6. Естественно, верная запись `1e-6`.
48
55
49
-
Другими словами, отрицательное число после `"e"` подразумевает деление на 1 с указанным количеством нулей:
56
+
Другими словами, отрицательное число после `"e"` подразумевает деление на `1` с указанным количеством нулей:
50
57
51
58
```js
52
59
// 1 делится на 1 с 3 нулями
53
-
1e-3=1/1000 (=0.001)
60
+
1e-3===1/1000 (=0.001)
54
61
55
62
// 1.23 делится на 1 с 6 нулями
56
-
1.23e-6=1.23/1000000 (=0.00000123)
63
+
1.23e-6===1.23/1000000 (=0.00000123)
57
64
```
58
65
59
66
### Шестнадцатеричные, двоичные и восьмеричные числа
@@ -67,11 +74,10 @@ alert( 0xff ); // 255
67
74
alert( 0xFF ); // 255 (то же самое, регистр не имеет значения)
68
75
```
69
76
70
-
Не так часто используются двоичные и восьмеричные числа, но они также поддерживаются `0b` для двоичных и `0o` для восьмеричных:
71
-
77
+
Двоичные и восьмеричные числа используются не так часто, но они также поддерживаются: `0b` для двоичных и `0o` для восьмеричных:
72
78
73
79
```js run
74
-
let a =0b11111111; // бинарная форма записи числа 255
80
+
let a =0b11111111; //двоичная (бинарная) форма записи числа 255
75
81
let b =0o377; // восьмеричная форма записи числа 255
0 commit comments