Skip to content

Commit 2d0f9ee

Browse files
committed
fix comments 2
1 parent 50b752b commit 2d0f9ee

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

1-js/02-first-steps/05-types/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ n = 12.345;
6464

6565
## BigInt
6666

67-
В JavaScript, тип "number" не может содержать числа больше чем <code>2<sup>53</sup></code> (или меньше чем <code>-2<sup>53</sup></code> для отрицательных), это техническое ограничение вызвано их внутренним представлением. Это число состоящее из 16 цифр, поэтому в большинстве случаев данное ограничение не является проблемой. Но иногда нам нужны действительно большие цифры, например в криптографии или при использовании метки времени ("timestamp") с микросекундами.
67+
В JavaScript тип "number" не может содержать числа больше, чем <code>2<sup>53</sup></code> (или меньше, чем <code>-2<sup>53</sup></code> для отрицательных). Это техническое ограничение вызвано их внутренним представлением. <code>2<sup>53</sup></code> - это достаточно большое число, состоящее из 16 цифр, поэтому чаще всего проблем не возникает. Но иногда нам нужны действительно гигантские числа, например в криптографии или при использовании метки времени ("timestamp") с микросекундами.
6868

6969
Тип `BigInt` был добавлен в JavaScript, чтобы дать возможность работать с целыми числами произвольной длины.
7070

1-js/05-data-types/02-number/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
1. Обычные числа в JavaScript хранятся в 64-битном формате [IEEE-754](http://en.wikipedia.org/wiki/IEEE_754-1985), который также называют "числа с плавающей точкой двойной точности" (double precision floating point numbers). Это числа, которые мы будем использовать чаще всего. Мы поговорим о них в этой главе.
55
2. `BigInt` числа дают возможность работать с целыми числами произвольной длины. Они нужны достаточно редко, и используются в случаях, когда необходимо работать со значениями более чем <code>2<sup>53</sup></code> или менее чем <code>-2<sup>53</sup></code>. Так как `BigInt` числа нужны достаточно редко, мы рассмотрим их в отдельной главе <info:bigint>.
66

7-
В данной главе мы рассморим только первый тип чисел: числа типа `number`. Давайте глубже изучим, как с ними работать в JavaScript.
7+
В данной главе мы рассмотрим только первый тип чисел: числа типа `number`. Давайте глубже изучим, как с ними работать в JavaScript.
88

99
## Способы записи числа
1010

1-js/99-js-misc/05-bigint/article.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
[recent caniuse="bigint"]
44

5-
`BigInt` это специальный числовой тип, который предоставляет возможность работать с целыми числами произвольной длины.
5+
`BigInt` - это специальный числовой тип, который предоставляет возможность работать с целыми числами произвольной длины.
66

7-
Чтобы создать значение типа `BigInt` необходимо добавить `n` в конец числового литерала или вызвать функцию `BigInt`, которая создаст `BigInt` число из переданного аргумента. Аргументом может быть число, строка и др.
7+
Чтобы создать значение типа `BigInt`, необходимо добавить `n` в конец числового литерала или вызвать функцию `BigInt`, создаст число типа `BigInt` число из переданного аргумента. Аргументом может быть число, строка и др.
88

99
```js
1010
const bigint = 1234567890123456789012345678901234567890n;
1111
const sameBigint = BigInt("1234567890123456789012345678901234567890");
12-
const bigintFromNumber = BigInt(10); // тоже самое что и 10n
12+
const bigintFromNumber = BigInt(10); // то же самое, что и 10n
1313
```
1414

1515
## Математические операторы
@@ -21,15 +21,14 @@ alert(1n + 2n); // 3
2121
alert(5n / 2n); // 2
2222
```
2323

24-
Обратите внимание: операция деления `5/2` возвращает результат, округленный до нуля без дробной части. Все операции с числами типа `bigint` возвращают `bigint`.
24+
Обратите внимание: операция деления `5/2` возвращает результат, округлённый до нуля без дробной части. Все операции с числами типа `bigint` возвращают `bigint`.
2525

2626
В математических операциях мы не можем смешивать `bigint` и обычные числа:
2727

2828
```js run
2929
alert(1n + 2); // Error: Cannot mix BigInt and other types
3030
```
3131

32-
We should explicitly convert them if needed: using either `BigInt()` or `Number()`, like this:
3332
Мы должны явно их конвертировать: используя либо `BigInt()`, либо `Number()`, например:
3433

3534
```js run
@@ -41,7 +40,7 @@ alert(bigint + BigInt(number)); // 3
4140
alert(Number(bigint) + number); // 3
4241
```
4342

44-
Конвертирование bigint в число всегда происходит бесшумно, но если значение bigint слишком велико и не подходит под тип number, то дополнительные биты будут отброшены, что приведет к потере точности.
43+
Конвертирование bigint в число всегда происходит неявно, но если значение bigint слишком велико и не подходит под тип number, то дополнительные биты будут отброшены, что приведёт к потере точности.
4544

4645
````smart header="К `BigInt` числам нельзя применить унарный оператор `+`"
4746
Унарный оператор `+value` является хорошо известным способом конвертировать `value` в число.
@@ -54,14 +53,14 @@ alert( +bigint ); // SyntaxError: Unexpected identifier
5453
5554
## Операции сравнения
5655
57-
Операции сравнения, такие как `<`, `>` работают с bigint и обычными числами как обычно:
56+
Операции сравнения, такие как `<`, `>`, работают с bigint и обычными числами как обычно:
5857
5958
```js run
6059
alert( 2n > 1n ); // true
6160
alert( 2n > 1 ); // true
6261
```
6362
64-
Так как обычные and bigint числа принадлежат к разным типам, они могут быть равны только при нестрогом сравнении `==`:
63+
Так как обычные и bigint числа принадлежат к разным типам, они могут быть равны только при нестрогом сравнении `==`:
6564
6665
```js run
6766
alert( 1 == 1n ); // true
@@ -70,9 +69,9 @@ alert( 1 === 1n ); // false
7069
7170
## Логические операции
7271
73-
В `if` или любом другом логическом операторе, bigint число ведёт себя как обычное число.
72+
В `if` или любом другом логическом операторе bigint число ведёт себя как обычное число.
7473
75-
К примеру, в `if`, bigint `0n` преобразуется в `false`, другие значения преобразуются в `true`:
74+
К примеру, в `if` bigint `0n` преобразуется в `false`, другие значения преобразуются в `true`:
7675
7776
```js run
7877
if (0n) {
@@ -89,15 +88,15 @@ alert( 0n || 2 ); // 2
8988
9089
## Полифилы
9190
92-
Создание полифила для `BigInt` достаточно не простая задача. Причина в том, что многие операторы в JavaScript, такие как `+`, `-` и др., ведут себя по-разному с bigint числами по сравнению с обычными числами.
91+
Создание полифила для `BigInt` достаточно непростая задача. Причина в том, что многие операторы в JavaScript, такие как `+`, `-` и др., ведут себя по-разному с bigint числами по сравнению с обычными числами.
9392
9493
К примеру, деление bigint числа всегда возвращает целое число.
9594
96-
Чтобы эмулировать такое поведение, полифил должен будет заменить поведение всех таких операторов. Такая реализация будет тяжеловесной и иметь негативное влияние на производительсность.
95+
Чтобы эмулировать такое поведение, полифил должен будет заменить поведение всех таких операторов. Такая реализация будет тяжеловесной, что окажет негативное влияние на производительность..
9796
9897
Вот почему на данный момент нет хорошо реализованного полифила.
9998
100-
Существует альтернативное решение предложеное разработчиками [https://github.com/GoogleChromeLabs/jsbi](JSBI) библиотеки.
99+
Существует альтернативное решение, предложеное разработчиками [https://github.com/GoogleChromeLabs/jsbi](JSBI) библиотеки.
101100
102101
Они предлагают использовать методы JSBI библиотеки вместо собственной реализации bigint чисел JavaScript интерпретатора:
103102
@@ -108,7 +107,7 @@ alert( 0n || 2 ); // 2
108107
| Вычитание | `c = a - b` | `c = JSBI.subtract(a, b)` |
109108
| ... | ... | ... |
110109
111-
...а затем использовать "polyfill" (плагин Babel) для замены вызовов JSBI в использование нативных bigint чисел для браузеров, в которые имеется поддержка `BigInt`.
110+
...а затем использовать "polyfill" (плагин Babel) для замены вызовов JSBI в использование нативных bigint чисел для браузеров, в которых имеется поддержка `BigInt`.
112111
113112
Другими словами, данный подход предлагает использовать JSBI вместо использования нативных bigint чисел. JSBI внутри себя работает с числами как с bigint числами с соблюдением требований спецификации. Таким образом, мы можем выполнять код в интерпретаторах, которые не поддерживают `BigInt`.
114113

0 commit comments

Comments
 (0)