Какие типы данных есть в JS? Flashcards

1
Q

Какие типы данных есть в JS?

A

Типы данных
Стандарт ECMAScript определяет 8 типов:

6 типов данных являющихся примитивами:
- Undefined (Неопределённый тип) : typeof instance === “undefined” - переменная, к которой не было присвоено значение.
- Boolean (Булев, Логический тип) : typeof instance === “boolean” - представляет логическую сущность и имеет 2 значения: true(истина) и false(ложь).
- Number (Число) : typeof instance === “number” - специального типа для целых чисел в JS нет. Это означает, что при числовых операциях можем получить неточное (округленное) значение. В дополнение можно приставить числа с плавающей запятой, несколько символичных значений: +Infinity(положительная бесконечность), -Infinity(отрицательная бесконечность) Nan(не число)
- String (Строка) : typeof instance === “string” -для представления текстовых данных.
- BigInt : typeof instance === “bigint” - является встроенным объектом, который представляет целые числа, которые больше 2^33, что является наибольшим числом.
- Symbol (в ECMAScript 6) : typeof instance === “symbol”. Символ — это уникальное и иммутабельное примитивное значение, которое может быть использовано как ключ для свойства объекта.
- Null (Null тип ) : typeof instance === “object”. Специальный примитив, используемый не только для данных но и в качестве указателя на финальную точку в Цепочке Прототипов - несуществующее или некорректный объект или адрес;
- Object (Объект) : typeof instance === “object”. Простая структура, используемая не только для хранения данных, но и для создания других структур, где любая структура создаётся с использованием ключевого слова new: new Object, new Array, new Map (en-US), new Set, new WeakMap, new WeakSet, new Date и множество других структур;
И здесь нам необходимо сделать предостережение относительно использования оператора typeof для определения типа структур, т.к. все структуры будут возвращать “object” при его использовании, так как назначение typeof — проверка типа данных, но не структур. Если проверить тип структуры всё же необходимо, то в этом случае желательно использовать оператор instanceof, так как именно он отвечает на вопрос о том, какой конструктор был использован для создания структуры.

Стоит отметить два особых случая работы оператора typeof: возврат “object” для значения null и “function” для функций: первое принято считать ошибкой языка, сохраненной ради обратной совместимости, второе является условностью, удобной для проверки на принадлежность значения категории функций, где функция - это особый, “вызываемый”, объект.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly