You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9266f24
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/05-types/article.md
+13-10Lines changed: 13 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -213,13 +213,6 @@ alert(age); // "undefined"
213
213
214
214
Оператор `typeof` повертає тип аргументу. Це корисно, коли ми хочемо обробляти значення різних типів по-різному або просто хочемо зробити швидку перевірку.
215
215
216
-
Він підтримує дві синтаксичні форми:
217
-
218
-
1. Як оператор: `typeof x`.
219
-
2. Як функція: `typeof(x)`.
220
-
221
-
Інакше кажучи, він працює з дужками або без них. Результат однаковий для обох випадків.
Останні три рядки можуть потребувати додаткового пояснення:
252
245
253
246
1.`Math` — це вбудований об’єкт, який забезпечує математичні операції. Ми вивчимо його в розділі <info:number>. Тут він використаний лише як приклад об’єкта.
254
-
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об’єктом. Це особливе значення з власним типом.
247
+
2. Результатом `typeof null` є `"object"`. Це офіційно визнана помилка в поведінці `typeof`, що існує ще з ранніх днів JavaScript і зберігається для сумісності. Безперечно, `null` не є об’єктом. Це особливе значення з власним типом. В цьому випадку поведінка `typeof` некоректна.
255
248
3. Результатом `typeof alert` є `"function"`, тому що `alert` — це функція. Ми будемо вивчати функції в наступних розділах, де ми також побачимо, що в JavaScript немає спеціального типу "function". Функції належать до типу "об’єкт". Але `typeof` трактує їх по-іншому, повертаючи `"function"`. Це також присутнє з ранніх днів JavaScript. Технічно, така поведінка не зовсім правильна, але може бути зручною на практиці.
256
249
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` набагато поширеніший.
0 commit comments