tgoop.com/prog_way_blog/112
Create:
Last Update:
Last Update:
Какие типы данных есть в JavaScript
В любом языке базовым вопросом будет назвать типы данных и JavaScript тут не исключение. Разберем один из самых частых вопросов на собеседовании.
Итак, в JavaScript есть 6 типов:
- number
- string
- boolean
- null
- undefined
- object
Первые 5 являются примитивами, а object
является сложным типом данных. Также ES6 принёс в язык типы BigInt
и Symbol
.
Из особенностей:
typeof null // 'object'
typeof [] // 'object'
typeof (() => {}) // 'function'
typeof function() {} // 'function'
typeof NaN // 'number'
const a = new Set()
const b = new Map()
typeof a // 'object'
typeof b // 'object'
1.
typeof null === 'object'
— это официальная ошибка, которая сохраняется ради обратной совместимости кода. На самом деле null
— это отдельный примитив.2. Массив не является отдельным типом данных. Это объект
3. Так же, как массив,
Map
, Set
, WeakMap
, WeakSet
— это объекты.4. Хоть функция и обрабатывается оператором
typeof
как 'function'
, на самом деле, функция — это тоже объект. Почему так мы разберём чуть позже, но вообще функции называют объектами первого класса. Так что на самом деле функция — это тоже объект.5.
typeof NaN === 'number'
. Вот такой прикол вам оставили разработчики, да. Not A Number
— это инстанс Number
. Для проверки NaN
есть специальная глобальная функция isNaN()
.Тот ответ, что я описал — это максимально точный и развёрнутый ответ. Не стоит приплетать что-то еще. И на этом всё. Спасибо за прочтение и интерес, это правда важно для меня.
#javascript #theory
BY progway — программирование, IT

Share with your friend now:
tgoop.com/prog_way_blog/112