Виталий Котов
Типы данных в JavaScript - инструкция для начинающих
Существуют различные типы данных, которые мы можем использовать в JavaScript. Например,
const x = 5;
const y = 'Привет';
Где,
5
- это целочисленный тип.
"Привет"
- это строковой тип.
Типы данных
В JavaScript существует восемь основных типов данных. К ним относятся:
Тип данных | Описание | Пример |
---|---|---|
String | представляет собой текстовые данные | "Привет, мир!" |
Number | целое или число с плавающей запятой | 3 , 3.234 , 3e-2 |
BigInt | целое число с произвольной точностью | 900719925124740999n , 1n |
Boolean | любое из двух значений: true или false | true , false |
undefined | тип данных, переменная которого не инициализирована | let a; |
null | обозначает значение null | let a = null; |
Symbol | тип данных, экземпляры которого уникальны и неизменяемы | let value = Symbol('hello'); |
Object | данные с парой ключ-значение | let person = { }; |
Здесь все типы данных, кроме Object
, являются примитивными типами данных.
Примечание: Тип данных Object (не примитивный тип) может хранить коллекции данных, в то время как примитивный тип данных может хранить только единичные.
Тип данных String
String
используется для хранения строковых данных. В JavaScript строки окружены кавычками:
- Одиночные кавычки:
'Привет'
- Двойные кавычки:
"Привет"
- Либо обратный апостроф.
Например,
//примеры строк
const name = 'Рем';
const name1 = 'Рам';
const result = `Имена: ${name} и ${name1}`;
Одинарные и двойные кавычки практически одинаковы, и можно использовать любую из них.
Обратные апострофы обычно используются, когда необходимо включить переменные или выражения в строку. Это делается путем обертывания переменных или выражений символом ${переменная или выражение}, как показано выше.
Тип данных Number
Number
представляет целые и числа с плавающей запятой (десятичные и экспоненциальные). Например,
const number1 = 3;
const number2 = 3.433;
const number3 = 3e5; // 3 * 10^5
Тип числа также может быть +Infinity
, -Infinity
и NaN
(не число). Например,
const number1 = 3 / 0;
console.log(number1); // Infinity
const number2 = -3 / 0;
console.log(number2); // -Infinity
// cтроки нельзя делить на числа
const number3 = 'abc' / 3;
console.log(number3); // NaN
Тип данных BigInt
В JavaScript тип Number
может представлять только числа меньше (2^53 - 1) и больше -(2^53 - 1). Однако если необходимо использовать число большего размера, чем это, можно использовать тип данных BigInt
.
Число BigInt
создается путем добавления n к концу целого числа. Например,
// значение BigInt
const value1 = 900719925124740998n;
// сложение двух больших целых чисел
const result1 = value1 + 1n;
console.log(result1); // "900719925124740999n"
const value2 = 900719925124740998n;
// ошибка! BigInt и number не могут быть суммированы
const result2 = value2 + 1;
console.log(result2);
Вывод в консоль:
900719925124740999n
Uncaught TypeError: Cannot mix BigInt and other types
Тип данных Boolean
Этот тип данных представляет логические единицы. Boolean
принимает одно из двух значений: true
или false
. Проще воспринимать его как переключатель "да/нет". Например,
const dataChecked = true;
const valueCounted = false;
Тип данных undefined
Тип данных undefined
представляет значение, которое было не присвоено. Если переменная объявлена, но значение ей не присвоено, то значение этой переменной будет undefined
. Например,
let name;
console.log(name); // undefined
Также можно явно присвоить переменной значение undefined
. Например,
let name = undefined;
console.log(name); // undefined
Примечание: Рекомендуется не присваивать переменной значение
undefined
явно. Обычноnull
используется для присвоения переменной "неизвестного" или "пустого" значения.
Тип данных null
В JavaScript null
- это специальное значение, которое представляет собой пустое или неизвестное значение. Например,
const number = null;
Приведенный выше код указывает, что переменная number
пуста.
Примечание:
null
- это не то же самое, что NULL или Null.
Тип данных Symbol
Значение, имеющее тип данных Symbol
, можно назвать символьным значением. Symbol
- это неизменяемое примитивное значение, которое является уникальным. Например,
// два символа с одинаковым описанием
const value1 = Symbol('hello');
const value2 = Symbol('hello');
Хотя value1
и value2
оба содержат 'hello'
, они отличаются, так как имеют тип Symbol
.
Тип данных Object
Object
- это сложный тип данных, который позволяет нам хранить коллекции данных. Например,
const student = {
firstName: 'Билл',
lastName: null,
class: 10,
};
JavaScript Type
JavaScript - это динамически типизированный язык. JavaScript автоматически определяет тип данных переменных за нас.
Это также означает, что переменная может иметь один тип данных, а затем может быть изменена на другой тип данных. Например,
// data имеет тип undefined
let data;
// data имеет тип Number
data = 5;
// data имеет тип String
data = 'PurpleSchool';
JavaScript typeof
Чтобы узнать тип переменной, можно использовать оператор typeof
. Например,
const name = 'Билл';
typeof name; // возвращает "string"
const number = 4;
typeof number; // возвращает "number"
const valueChecked = true;
typeof valueChecked; // возвращает "boolean"
const a = null;
typeof a; // возвращает "object"
Примечание:
typeof
возвращает"object"
для типаnull
. Это известная проблема в JavaScript с момента его первого выпуска.