PROG_WAY_BLOG Telegram 112
​​Какие типы данных есть в 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
👍21



tgoop.com/prog_way_blog/112
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. How to build a private or public channel on Telegram? Polls To delete a channel with over 1,000 subscribers, you need to contact user support Select “New Channel”
from us


Telegram progway — программирование, IT
FROM American