Skip to content

Commit 31a994c

Browse files
committed
translation corrections
1 parent 8e438f4 commit 31a994c

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Просто в цикле перебираем свойства объекта и возвращаем false как только встречаем свойство.
1+
Просто в цикле перебираем свойства объекта и возвращаем `false`, как только встречаем свойство.

1-js/04-object-basics/01-object/3-is-empty/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ importance: 5
44

55
# Проверка на пустоту
66

7-
Напишите функцию `isEmpty(obj)`, которая возвращает `true` если у объекта нет свойств, иначе `false`.
7+
Напишите функцию `isEmpty(obj)`, которая возвращает `true`, если у объекта нет свойств, иначе `false`.
88

99
Должно работать так:
1010

1-js/04-object-basics/01-object/4-const-object/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ importance: 5
22

33
---
44

5-
# Объекты константы?
5+
# Объекты-константы?
66

77
Можно ли изменить объект, объявленный с помощью `const`? Как вы думаете?
88

1-js/04-object-basics/01-object/article.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11

22
# Объекты
33

4-
Как мы знаем из главы <info:types>, в JavaScript существует семь типов данных. Шесть из них называются "примитивными", так как описываются одним значением (будь то строка, число или другое значение).
4+
Как мы знаем из главы <info:types>, в JavaScript существует семь типов данных. Шесть из них называются "примитивными", так как содержат только одно значение (будь то строка, число или другое значение).
55

66
Напротив, объекты используются для хранения коллекций различных данных и более сложных сущностей. В JavaScript объекты проникли практически в каждый аспект языка. Поэтому мы должны понять их прежде, чем углубляться куда-либо ещё.
77

88
Объект может быть создан с помощью фигурных скобок `{…}` с необязательным списком *свойств*. Свойство - это пара "ключ: значение", где `ключ` - это строка (также называемая "именем свойства"), а `значение` может быть чем угодно.
99

10-
Мы можем представить объект в виде ящика с подписанными папками. Каждый фрагмент данных хранится в своей папке, на которой написан ключ. По имени ключа папку легко найти, удалить или добавить в неё что либо.
10+
Мы можем представить объект в виде ящика с подписанными папками. Каждый элемент данных хранится в своей папке, на которой написан ключ. По имени ключа папку легко найти, удалить или добавить в неё что либо.
1111

1212
![](object.png)
1313

14-
Пустой объект ("пустой ящик") можно создать используя один из двух вариантов синтаксиса:
14+
Пустой объект ("пустой ящик") можно создать, используя один из двух вариантов синтаксиса:
1515

1616
```js
1717
let user = new Object(); // синтаксис "конструктор объекта"
@@ -237,7 +237,7 @@ alert(obj.__proto__); // [object Object], работает не так, как
237237

238238
## Короткое свойство
239239

240-
В реальном коде, часто нам необходимо использовать существующие переменные как значения для свойств с тем же именем.
240+
В реальном коде часто нам необходимо использовать существующие переменные как значения для свойств с тем же именем.
241241

242242
Например:
243243

@@ -281,7 +281,7 @@ let user = {
281281

282282
## Проверка существования свойства
283283

284-
Особенность объектов в том, что можно получить доступ к любому свойству. Даже если свойство не существует ошибки не будет!
284+
Особенность объектов в том, что можно получить доступ к любому свойству. Даже если свойства не существует - ошибки не будет!
285285
При обращении к свойству, которого нет, возвращается `undefined`. Это позволяет нам довольно просто проверить существование свойства - сравнить его с `undefined`:
286286

287287
```js run
@@ -555,7 +555,7 @@ alert( a == b ); // false
555555
556556
### Объекты-константы
557557
558-
Объект, объявленный через `const` *может* быть изменен.
558+
Объект, объявленный через `const`, *может* быть изменен.
559559

560560
Пример:
561561

@@ -588,7 +588,7 @@ user = {
588588
};
589589
```
590590

591-
...Но что делать, если мы хотим сделать константами свойства объекта? Как сделать так, чтобы операция `user.age = 25` выдавала ошибку. Это тоже возможно. Мы рассмотрим эту тему в главе <info:property-descriptors>.
591+
...Но что делать, если мы хотим сделать константами свойства объекта? Как сделать так, чтобы попытка изменить `user.age = 25` выдавала ошибку. Это тоже возможно. Мы рассмотрим эту тему в главе <info:property-descriptors>.
592592

593593
## Клонирование и объединение объектов, Object.assign
594594

@@ -674,7 +674,7 @@ let clone = Object.assign({}, user);
674674
*/!*
675675
```
676676

677-
Все свойства объекта `user` будут скопированы в пустой объект и ссылка на этот объект присвоится переменной `clone`. На самом деле, такое клонирование работает также, как и через цикл, но короче.
677+
Все свойства объекта `user` будут скопированы в пустой объект и ссылка на этот объект будет в переменной `clone`. На самом деле, такое клонирование работает также, как и через цикл, но короче.
678678

679679
До сих пор мы предполагали, что все свойства пользователя примитивны. Но свойства могут быть ссылками на другие объекты. Что с ними делать?
680680

@@ -715,7 +715,7 @@ alert(clone.sizes.width); // 51, видим результат в другом
715715
Чтобы исправить это, мы должны в цикле клонирования делать проверку, не является ли значение `user[key]` объектом, и если это так - копируем и его структуру. Это называется "глубокое клонирование".
716716

717717
Существует стандартный алгоритм глубокого клонирования, [Structured cloning algorithm](http://w3c.github.io/html/infrastructure.html#safe-passing-of-structured-data). Он решает описанную выше задачу, а также более сложные задачи.
718-
Чтобы не изобретать велосипед, мы можем использовать реализацию этого алгоритма из JavaScript-библиотеки [lodash](https://lodash.com), метод [\_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
718+
Чтобы не изобретать велосипед, мы можем использовать реализацию этого алгоритма из JavaScript-библиотеки [lodash](https://lodash.com), метод [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
719719

720720

721721
## Итого
@@ -736,9 +736,9 @@ alert(clone.sizes.width); // 51, видим результат в другом
736736
- Проверка существования свойства: `"key" in obj`.
737737
- Перебор свойств объекта: цикл for `for (let key in obj)`.
738738

739-
Объекты присваиваются и копируются по ссылке. Другими словами, переменная хранит не "значение объекта", а "ссылку" (адрес в памяти) на это значение. Поэтому копирование такой переменной или передача ее в качестве аргумента функции, приводит к копированию этой ссылки, а не самого объекта. Все операции с использованием скопированных ссылок (например, добавление или удаление свойств) выполняются с одним и тем же объектом.
739+
Объекты присваиваются и копируются по ссылке. Другими словами, переменная хранит не "значение объекта", а "ссылку" (адрес в памяти) на это значение. Поэтому копирование такой переменной или передача ее в качестве аргумента функции приводит к копированию этой ссылки, а не самого объекта. Все операции с использованием скопированных ссылок (например, добавление или удаление свойств) выполняются с одним и тем же объектом.
740740

741-
Чтобы сделать "настоящую копию" (клон), мы можем использовать `Object.assign` или [\_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
741+
Чтобы сделать "настоящую копию" (клон), мы можем использовать `Object.assign` или [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
742742

743743
То, что мы изучали в этой главе, называется "простым объектом" ("plain object") или просто `Object`.
744744

0 commit comments

Comments
 (0)