Skip to content

Commit a63e249

Browse files
committed
revisions
1 parent d39e1f9 commit a63e249

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

  • 1-js/05-data-types/01-primitives-methods

1-js/05-data-types/01-primitives-methods/article.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Методы с примитивными типами данных
22

3-
JavaScript позволяет нам работать с примитивными типами данных (далее: примитивы) (строки, числа, и т.д) так, как если бы они были объектами.
3+
JavaScript позволяет нам работать с примитивными типами данных (далее: примитивы) - строки, числа, и т.д., так, как если бы они были объектами.
44

5-
Также, примитивы имеют методы объектов. Их мы изучим позже, но сначала мы разберем как это все работает, потому что, конечно, примитивы - не объекты (и здесь мы разберем это поподробнее).
5+
Также примитивы имеют методы объектов. Их мы изучим позже, но сначала мы разберем, как это все работает, потому что, конечно, примитивы - не объекты (и здесь мы разберем это поподробнее).
66

77
Давайте взглянем на ключевые различия между примитивами и объектами.
88

@@ -31,28 +31,28 @@ roma.sayHi(); // Привет, дружище!
3131

3232
Здесь мы создали объект `roma` с методом `sayHi`.
3333

34-
Существует множество встроенных объектов. Например, те, которые работают с датами, ошибками, HTML элементами, и т.д. Они имеют различные свойства и методы.
34+
Существует множество встроенных объектов. Например, те, которые работают с датами, ошибками, HTML-элементами и т.д. Они имеют различные свойства и методы.
3535

36-
Однако, у этих особенностей есть определенная цена!
36+
Однако у этих возможностей есть обратная сторона!
3737

38-
Объекты «тяжелее» примитивов. Они нуждаются в дополнительных ресурсах для поддержания внутренней структуры. Но, так как свойства и методы очень полезны в программировании, движки JavaScript оптимизируют их для уменьшения дополнительной нагрузки.
38+
Объекты «тяжелее» примитивов. Они нуждаются в дополнительных ресурсах для поддержания внутренней структуры. Но так как свойства и методы очень полезны в программировании, движки JavaScript оптимизируют их для уменьшения дополнительной нагрузки.
3939

4040
## Примитив как объект
4141

4242
Вот парадокс, с которым столкнулся создатель JavaScript:
4343

44-
- Есть много вещей, которые хотелось бы сделать с примитивами как string или number. Было бы замечательно если бы мы могли вызывать эти «вещи» так же, как методы.
44+
- Есть много всего, что хотелось бы сделать с примитивами, такими как строка или число. Было бы замечательно, если бы мы могли обращаться с ними так же, как и с методами.
4545
- Примитивы должны быть как можно легкими и быстрыми.
4646

4747
Вот решение, хотя выглядит оно немного неуклюже:
4848

4949
1. Примитивы остаются примитивами. Одно значение, как и хотелось.
50-
2. Язык позволяет иметь доступ к методам и свойствам strings, numbers, booleans и symbols.
50+
2. Язык позволяет иметь доступ к методам и свойствам строк, чисел, булевых значений и символов.
5151
3. При этом, создается специальный "объект-обертка", который предоставляет дополнительную функциональность, а после, удаляется.
5252

5353
Каждый примитив имеет свой собственный "объект-обертку", которые называются: `String`, `Number`, `Boolean` и `Symbol`. Таким образом,они имеют разный набор методов.
5454

55-
К примеру, существует метод [str.toUpperCase()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase), который возвращает cтроку в верхнем регистре.
55+
К примеру, существует метод [str.toUpperCase()](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase), который возвращает cтроку в верхнем регистре.
5656

5757
Вот как он работает:
5858

@@ -72,7 +72,7 @@ alert(str.toUpperCase()); // ПРИВЕТ
7272

7373
Движок JavaScript очень оптимизирует этот процесс. Он даже может пропустить создание специального объекта. Однако, он все же должен придерживаться спецификаций и работать так, как будто он его создает.
7474

75-
Число имеет собственный набор методов. Например, [toFixed(n)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) округляет число до n знаков после запятой.
75+
Число имеет собственный набор методов. Например, [toFixed(n)](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) округляет число до n знаков после запятой.
7676

7777
```js run
7878
let n = 1.23456;
@@ -108,7 +108,7 @@ if (zero) {
108108

109109
С другой стороны, использование функций `String/Number/Boolean` без оператора `new` является вполне разумной и полезной вещью. Они превращают значение в соответствующий примитивный тип: в строку, в число, в булевой тип.
110110

111-
К примеру, следующее вполне легально:
111+
К примеру, следующее вполне допустимо:
112112

113113
```js
114114
let num = Number("123"); // превращает строку в число

0 commit comments

Comments
 (0)