Значение в JavaScript всегда относится к данным определённого типа. Например, это может быть строка или число.
Переменная в JavaScript может содержать любые данные. В один момент там может быть строка, а в другой – число:
// Не будет ошибкой
let message = "hello";
message = 123456;
Языки программирования, в которых такое возможно, называются «динамически типизированными». Это значит, что типы данных есть, но переменные не привязаны ни к одному из них.
О динамической типизации в JS читайте в следующей статье.
Число
number
— числовой тип данных представляет целое значения:
let n = 123;
Числа с плавающей точкой.
let n = 12.777775553;
NaN
Not-A-Number (не-число), означает вычислительную ошибку. Это результат неправильной или неопределённой математической операции. В современных браузерах NaN является ненастраиваемым и незаписываемым свойством.
Даже когда это не так, избегайте его переопределения.
alert( "не число" / 2 ); // NaN, такое деление будет ошибкой
Существует множество операций для чисел, например, умножение *
, деление /
, сложение +
, вычитание -
и так далее.
Строка
Строка (string
) в JavaScript должна быть заключена в кавычки.
В JavaScript существует три типа кавычек.
- Двойные кавычки:
"Мир"
. - Одинарные кавычки:
'Мир'
. - Обратные кавычки:
`Мир`
.
Двойные или одинарные кавычки являются «простыми», между ними нет разницы в JavaScript.
let str = "Привет";
let str2 = 'Привет';
Обратные же кавычки имеют расширенную функциональность. Они позволяют встраивать выражения в строку, заключая их в ${…}
.
let name = "Иван";
// Вставим переменную
alert( `Привет, ${name}!` ); // Привет, Иван!
// Вставим выражение
alert( `результат: ${1 + 2}` ); // результат: 3
Выражение внутри ${…}
вычисляется, и его результат становится частью строки. Мы можем положить туда всё, что угодно: переменную name
, или выражение 1 + 2
, или что-то более сложное.
Обратите внимание, что это можно делать только в обратных кавычках. Другие кавычки не имеют такой функциональности!
alert( "результат: ${1 + 2}" );
Булевый (логический) типы
Булевый тип (boolean
) может принимать только два значения: true
(истина) и false
(ложь).
let nameFieldChecked = true;
let ageFieldChecked = false;
Значение «null»
null
не относится ни к одному из типов, описанных выше. Это то чего не существует.
Если в коде не существует переменной something
, то при выводе в консоль панели разработчика увидите ошибку или null
.
По сути это ссылка на не существующие типы
console.log(something);
Значение «undefined»
undefined
— это когда объект есть, но тип в нем не определен.
К примеру введем переменную something
, но ничего ей не присвоим в итоге в консоли получим undefined
. Простыми словами переменная есть, но что в ней х.з.-)))
let something;
console.log(something);
Объекты
Тип object
(объект) – особенный. Это коллекция данных, ведь в нем могут содержаться все типы. Синтаксис обозначается {}
. Внутри скобок находятся свойства.
let persone = {
name: 'Olga',
age: 24,
mail: vr@vr.com
}

При этом до одного из свойств объекта можно добраться следующим образом:
console.log(persone.name);

В типе объект есть еще один вариант называется массив. При этом массив заключен в квадратные скобки []
. Типы могут быть любые в нем не обязательно строки.
К примеру возьмем массив который имеет перечень фотографий.
let foto = ['pl.png', '123.png', 'doom.jpg'];
Чтобы достучаться до одного из элементов массива внутри (имя переменной [номер]
);
Важно помнить что нумерация начинается с нуля(!)
let foto = ['pl.png', '123.png', 'doom.jpg'];
console.log(foto[1]);

К специальным объектам относятся :
- Массивы
- Функции
- Объект Даты
- Регулярные выражения
- Ошибки
Оператор typeof
Оператор typeof
возвращает типы. Это полезно, просто нужно сделать проверку данных.
У него есть две синтаксические формы:
- Синтаксис оператора:
typeof x
. - Синтаксис функции:
typeof(x)
.
Другими словами, он работает со скобками или без скобок. Результат одинаковый.
let a = 'Мир';
console.log(typeof (a));

let b = 1;
console.log(typeof(b));
