Skip to content

Commit 07e5102

Browse files
authored
Merge pull request #694 from Andrii256/04-01-object
Fix object (chapter 01-04-01)
2 parents 426a7d1 + 3df8031 commit 07e5102

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

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

+1-1
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

Diff for: 1-js/04-object-basics/01-object/article.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ let user = {
9090
age: 30*!*,*/!*
9191
}
9292
```
93-
Це називається "кінцевою" або "висячою" комою. Полегшує додавання/видалення/переміщення по властивостях, оскільки всі рядки стають однаковими.
93+
Це називається "кінцевою" або "висячою" комою. Вона полегшує додавання/видалення/переміщення по властивостях, оскільки всі рядки стають однаковими.
9494

9595
## Квадратні дужки
9696

@@ -205,7 +205,7 @@ let bag = {
205205

206206
Тому більшість часу, коли назви властивостей відомі та прості, використовується крапка. А якщо нам потрібно щось складніше, то переходимо до квадратних дужок.
207207

208-
## Властивість зі змінної
208+
## Скорочений запис властивості зі змінної (Property value shorthand)
209209

210210
У реальному коді ми часто використовуємо наявні змінні як значення для імен властивостей.
211211

@@ -224,7 +224,7 @@ let user = makeUser("Іван", 30);
224224
alert(user.name); // Іван
225225
```
226226

227-
В наведеному вище прикладі назва властивостей `name` і `age` збігаються з назвами змінних, які ми підставляємо як значення цих властивостей. Такий підхід настільки поширений, що існують спеціальні *короткі властивості* для спрощення цього запису.
227+
В наведеному вище прикладі назва властивостей `name` і `age` збігаються з назвами змінних, які ми підставляємо як значення цих властивостей. Такий підхід настільки поширений, що існує спеціальний *скорочений запис властивості зі змінної* (property value shorthand) для спрощення цього запису.
228228

229229
Замість `name: name` ми можемо написати просто `name`:
230230

@@ -240,7 +240,7 @@ function makeUser(name, age) {
240240
}
241241
```
242242

243-
Ми можемо використовувати як звичайні властивості, так і скорочення в одному об’єкті:
243+
Ми можемо одночасно в одному об'єкті використовувати і скорочення, і звичайні об'єкти:
244244

245245
```js
246246
let user = {
@@ -252,12 +252,12 @@ let user = {
252252

253253
## Обмеження для імен властивостей
254254

255-
Як ми вже знаємо, змінна не може мати ім’я, зі списку слів, зарезервованих мовою, як-от "for", "let", "return" тощо.
255+
Як ми вже знаємо, змінна не може мати ім’я зі списку слів зарезервованих мовою, таких як "for", "let", "return" тощо.
256256

257-
То для властивості об’єкта немає такого обмеження:
257+
Але для властивості об’єкта немає такого обмеження:
258258

259259
```js run
260-
// ці назви властивостей -- правильні
260+
// ці назви властивостей правильні
261261
let obj = {
262262
for: 1,
263263
let: 2,
@@ -288,7 +288,7 @@ alert( obj[0] ); // тест (таж сама властивість)
288288
```js run
289289
let obj = {};
290290
obj.__proto__ = 5; // присвоїмо число
291-
alert(obj.__proto__); // [object Object] - значення -- це об’єкт, тобто не те, що ми очікували
291+
alert(obj.__proto__); // [object Object] - значення є об’єктом, тобто не те, що ми очікували
292292
```
293293

294294
Як ми бачимо з коду, присвоєння числа `5` ігнорується.
@@ -299,7 +299,7 @@ alert(obj.__proto__); // [object Object] - значення -- це об’єк
299299

300300
Помітною особливістю об’єктів у JavaScript, у порівнянні з багатьма іншими мовами, є можливість доступу до будь-якої властивості. Помилки не буде, якщо властивості не існує!
301301

302-
Читання відсутньої властивості просто повертає `undefined`. Тому ми можемо легко перевірити, чи існує властивість:
302+
Спроба прочитати відсутню властивість просто повертає `undefined`. Тому ми можемо легко перевірити, чи існує властивість:
303303

304304
```js run
305305
let user = {};
@@ -352,7 +352,7 @@ alert( "test" in obj ); // true, властивість існує!
352352
353353
У наведеному вище коді властивість `obj.test` технічно існує. Отже, оператор `in` працює правильно.
354354
355-
Такі ситуації трапляються дуже рідко, тому що `undefined` не слід чітко призначати. Ми в основному використовуємо `null` для "невідомих" або "порожніх" значень. Отже, оператор `in` -- екзотичний гість у коді.
355+
Такі ситуації трапляються дуже рідко, бо `undefined` не слід явно призначати. Ми в основному використовуємо `null` для "невідомих" або "порожніх" значень. Отже, оператор `in` -- екзотичний гість у коді.
356356
357357
358358
## Цикл "for..in" [#forin]

0 commit comments

Comments
 (0)