Что означают различные значения, возвращаемые оператором typeof, и как вы можете использовать их в своих интересах.
typeof operator — это оператор JavaScript, который используется для определения типа операнда.  Он возвращает строку, соответствующую типу операнда.  В этом сообщении блога мы обсудим, что означают различные значения, возвращаемые оператором typeof, и как вы можете использовать их в своих интересах.
Типы данных JavaScript
Во-первых, давайте рассмотрим различные типы данных, которые поддерживает JavaScript. Существует семь основных типов данных, которые считаются примитивными:
- логический
- Нулевой
- Неопределенный
- Число
- Нить
- Символ (новое в ECMAScript 2015) BigInt (новое в ECMAScript 2020)
- BigInt
Эти примитивные типы являются неизменяемыми, то есть их значения не могут быть изменены. В дополнение к этим примитивным типам в JavaScript также есть ссылочный тип. Ссылочный тип называется Object и представляет собой сложный тип данных. Все, что не является примитивным типом, является объектом. Объекты изменяемы, то есть их значения могут быть изменены. В JavaScript и массивы, и функции являются объектами.
Тип оператора
Теперь, когда у нас есть общее представление о различных типах данных в JavaScript, давайте подробнее рассмотрим оператор typeof.  typeof operator принимает один операнд, оценивает тип операнда и возвращает строку, соответствующую этому типу.
Синтаксис оператора typeof прост, так как это просто ключевое слово typeof , за которым следует операнд:
Существует альтернативный синтаксис, который использует круглые скобки, когда вы хотите определить тип данных выражений.
В приведенном выше примере показано, что без круглых скобок оператор typeof вернет тип данных первого встречного операнда.  В данном случае это число, так как операндом является переменная num, равная 100. Однако, когда мы добавляем круглые скобки вокруг выражения, оно возвращает тип данных выражения, который является строкой.  Это связано с тем, что выражение 100 + ‘ hello’ оценивается как ‘100 hello’ из-за приведения типов.
Простые примеры
Следующий фрагмент кода иллюстрирует результат использования typeof operator для различных значений.
В этих примерах typeof operator кажется довольно простым.  Однако есть некоторые значения, которые могут привести к неожиданным результатам.
Неожиданные результаты от typeof
Тип массива:
В JavaScript массивы считаются типом объекта.  Поэтому, когда вы используете typeof operator для массива, он вернет «объект».
typeof [0, false, “hello”] // ‘object’
Тип NaN:
NaN — это значение, представляющее Not-A-Number.  Из всех типов данных вы не ожидаете, что NaN будет классифицирован как число.  Однако typeof operator возвращает «число» для значений NaN.
Тип нуля:
В JavaScript typeof operator возвращает «объект» для значений, которые равны нулю.  Эта ошибка связана с ранними днями JavaScript.  В 2015 году было предложено исправление, но оно было отклонено из-за проблем с совместимостью.
typeof null // ‘object’
Тип необъявленной переменной:
Если вы попытаетесь использовать typeof operator для переменной, которая не была объявлена, она вернет значение «undefined».
typeof doesNotExist // ‘undefined’
Заключение
typeof operator — это мощный инструмент для проверки типа данных значения в JavaScript.  Однако есть некоторые значения, которые могут привести к неожиданным результатам.  Важно знать об этих пограничных случаях, поскольку это позволяет вам иметь возможность отлаживать с использованием оператора typeof .
Я надеюсь, что эта статья развеяла ваши сомнения! Удачи на собеседованиях по кодированию!
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.
 
                                                                     
                                                                    