На каждом собеседовании спрашивают. И да - непопулярные типы тоже спрашивают.
📝 Я дублирую текст для тех, кому неудобно читать с картинок или просто нужен текст.
➡️
numberЧисла: 10, 5.4, -100 и так далее, в границах от -(253-1) до (253-1)
➡️
bigintдля больших чисел(когда number недостаточно), специальный формат, можно создать, используя литерал n либо функцию Bigint()
➡️
NaNне тип данных, означает “не число” - может получится, если например ошибка в вычислениях, например, при делении на 0.
➡️
stringСтрока: набор символов, в разном количестве, может быть пустой: "abc4", '678uiopp', '', может содержать перенос строки \n и другие спецсимволы
➡️
symbolНет, это не специальный тип данных для строки из одного символа. Это уникальный идентификатор, может быть ключом объекта и его плюс в том, что такой ключ никогда не повторится, в отличие от ключа-строки
➡️
booleanЛогический тип данных, принимает значения true, либо false, нужен, например, при проверке условий
➡️
undefinedНеопределенность - например, вы обращаетесь к переменной, которой не было присвоено значение или к значению функции, которая ничего не возвращает
➡️
objectСтруктура данных, организованная по принципу ключ-значение. Ключами могут быть строки и символы, значениями могут быть даже другие объекты
➡️
nullПустота, используется, например, при создании переменной, у которой пока нет значения. Приводится к нулю, к false. typeof null = ‘object’ - хотя null самостоятельный тип данных. Является корневым прототипом любого объекта
❓
А массив?Массив - это объект, ключами являются имя и число элементов(длина)
❓
А функция?Тоже объект! Ключи, конечно, имя и количество входных параметров
❓
typeof или typeof()?Можно и так и так. Определяет тип аргумента,
есть оговорки(например null), если передано выражение, выполняет приведение типов
#js #типы_данных