Skip to content

Commit 873d2b9

Browse files
committed
2 parents ecbc8a9 + 8d04d0d commit 873d2b9

233 files changed

Lines changed: 433 additions & 266 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎1-js/01-getting-started/1-intro/limitations.svg‎

Lines changed: 1 addition & 1 deletion
Loading

‎1-js/02-first-steps/04-variables/variable-change.svg‎

Lines changed: 3 additions & 3 deletions
Loading

‎1-js/02-first-steps/04-variables/variable.svg‎

Lines changed: 2 additions & 2 deletions
Loading

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

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,13 +213,6 @@ alert(age); // "undefined"
213213

214214
Оператор `typeof` повертає тип аргументу. Це корисно, коли ми хочемо обробляти значення різних типів по-різному або просто хочемо зробити швидку перевірку.
215215

216-
Він підтримує дві синтаксичні форми:
217-
218-
1. Як оператор: `typeof x`.
219-
2. Як функція: `typeof(x)`.
220-
221-
Інакше кажучи, він працює з дужками або без них. Результат однаковий для обох випадків.
222-
223216
Виклик `typeof x` повертає рядок з назвою типу:
224217

225218
```js
@@ -251,9 +244,19 @@ typeof alert // "function" (3)
251244
Останні три рядки можуть потребувати додаткового пояснення:
252245

253246
1. `Math` — це вбудований об’єкт, який забезпечує математичні операції. Ми вивчимо його в розділі <info:number>. Тут він використаний лише як приклад об’єкта.
254-
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об’єктом. Це особливе значення з власним типом.
247+
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об’єктом. Це особливе значення з власним типом. В цьому випадку поведінка `typeof` некоректна.
255248
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція. Ми будемо вивчати функції в наступних розділах, де ми також побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу "об’єкт". Але `typeof` трактує їх по-іншому, повертаючи `"function"`. Це також присутнє з ранніх днів JavaScript. Технічно, така поведінка не зовсім правильна, але може бути зручною на практиці.
256249

250+
```smart header="Синтаксис `typeof(x)`"
251+
Можливо ви зустрічали інший синтаксис: `typeof(x)`. Це те саме, що `typeof x`.
252+
253+
Щоб було зрозуміло: `typeof` -- це оператор, а не функція. Тут дужки не є частиною `typeof`. Це щось на кшталт математичних дужок для групування.
254+
255+
Зазвичай, такі дужки містять математичні вирази, як `(2 + 2)`, але тут вони містять лише один аргумент `(x)`. Ці дужки дозволяють опустити пробіл між оператором `typeof` та його аргументом, і декому це подобається.
256+
257+
Тому вони надають перевагу синтаксису `typeof(x)`, проте синтаксис `typeof x` набагато поширеніший.
258+
```
259+
257260
## Підсумки
258261
259262
В JavaScript існує 8 основних типів.
@@ -269,8 +272,8 @@ typeof alert // "function" (3)
269272
270273
Оператор `typeof` дозволяє нам бачити, який тип зберігається в змінній.
271274
272-
- Дві форми: `typeof x` або `typeof(x)`.
275+
- Зазвичай використовують синтаксис `typeof x`, проте `typeof(x)` також можливий.
273276
- Повертає рядок з назвою типу, як-от `"string"`.
274-
- Для `null` повертає `"object"` — це помилка в мові, `null` насправді не об’єкт.
277+
- Для `null` повертає `"object"` —- це помилка в мові, `null` насправді не об’єкт.
275278
276279
В наступних розділах ми зосередимося на примітивних значеннях, а коли ознайомимося з ними, то перейдемо до об’єктів.
Lines changed: 64 additions & 1 deletion
Loading

0 commit comments

Comments
 (0)