Data Types
Стандарт ECMAScript определяет 8 типов.
Из них примитивные:
Undefined (Неопределённый тип) :
typeof instance === "undefined"Boolean (Булев, Логический тип) :
typeof instance === "boolean"Number (Число) :
typeof instance === "number"String (Строка) :
typeof instance === "string"BigInt :
typeof instance === "bigint"Symbol (в ECMAScript 6) :
typeof instance === "symbol"Null (Null тип) :
typeof instance === "object". Специальный примитив, используемый не только для данных но и в качестве указателя на финальную точку в Цепочке Прототипов;
Ссылочный:
Object (Объект) :
typeof instance === "object". Простая структура, используемая не только для хранения данных, но и для создания других структур, где любая структура создаётся с использованием ключевого слова new: new Object, new Array, new Map, new Set, new WeakMap, new WeakSet, new Date и множество других структур;
Undefined
Если переменная инициализирована с помощью let или var и ей не присвоено значение, то JavaScript автоматически устанавливает значение undefined.
Подробнее: Undefined
Boolean
Создать булево значение можно несколькими способами. Первый — явно указать значение, используя ключевые слова true и false:
Второй способ — использовать метод Boolean:
Подробнее: Boolean
Number
Для этого типа данных определены стандартные арифметические операции сложения +, вычитания -, умножения *, деления /, взятия остатка от целочисленного деления %, сравнения >, <, >=, <=, ==, ===, !=, !==.
Для записи чисел используются цифры, для разделения целой и десятичной части используется точка:
Числа так же могут быть представлены в двоичном, восьмеричном или шестнадцатеричном виде. Такие числа начинаются с приставки 0b, 0o, 0x соответственно. При выводе на экран они будут преобразованы в десятичную систему счисления:
Подробнее: Number
String
Есть несколько способов создать строку:
одинарными кавычками ';
двойными кавычками ";
шаблонной строкой через обратный апостроф `.
Записи одинарными и двойными кавычками идентичны:
Можно создать пустую строку или строку из пробелов:
Если в записи одинарными кавычками нужно поставить апостроф, то символ экранируют обратным слэшем . Так мы даём JavaScript понять, что это просто символ, а не закрывающая кавычка:
Шаблонные строки позволяют подставлять в строку значения переменных. Между обратными апострофами пишется текст, а в местах, где нужно вставить значение из переменной используется синтаксис ${имя_переменной}:
Подробнее: String
BigInt
Создать BigInt можно двумя способами.
Добавить суффикс n в конец записи числа:
Вызвать конструктор BigInt:
Для BigInt определены операции сложения +, вычитания -, умножения *, взятия остатка от деления %, возведение в степень **. Операция деления / также работает, но дробная часть будет отброшена:
Подробнее: BigInt
Symbol
Символы могут использоваться в качестве имён свойств в объектах. Символьные свойства могут быть прочитаны только при прямом обращении и не видны при обычных операциях.
Для создания символа нужно вызвать функцию Symbol:
Подробнее: Symbol
Null
Значение null используют, когда нужно обозначить намеренное отсутствие значения объекта (объект с неопределённой структурой).
В языке существует похожее примитивное значение undefined. Оно обозначает, что переменной ещё не присвоено значение. Их можно легко спутать, потому что оба обозначают отсутствие значения. Разница состоит в том, что null обозначает намеренное отсутствие значения объекта (объект без заданной структуры), а undefined — что переменной (не объекту) ещё не присвоено значение.
Подробнее: Null
Object
Они хранят свойства (пары ключ-значение), где:
ключи свойств должны быть строками или символами (обычно строками).
значения могут быть любого типа.
Чаще всего объекты создают с помощью литеральной записи:
Или с помощью конструктора Object:
Чтобы получить доступ к свойству, мы можем использовать:
Запись через точку: obj.property. Квадратные скобкиobj["property"]. Квадратные скобки позволяют взять ключ из переменной, например, obj[varWithKey].
Дополнительные операторы:
Удаление свойства:
delete obj.prop.Проверка существования свойства:
"key" in obj.Перебор свойств объекта: цикл
for for (let key in obj).
Подробнее: Object