Главная » Типы данных в языке JavaScript

Типы данных в языке JavaScript


24.02.2021, 23:09
Основные типы данных в JavaScript

Типы данных в JavaScript делятся на две больших категории:

- простые (элементарные, неизменяемые)
- объектные (объекты, изменяемые)

Простые типы:

- числа
- строки
- булевы значения
- null
- undefined
- Symbol (добавлен в ES6)
- BigInt (определён в ES2020)

Объектные типы делятся на специальные объекты и обычные объекты:

К специальным объектам относятся:

- массивы (упорядоченная коллекция пронумерованных значений)
- функции
- объект даты
- регулярные выражения
- ошибки

Обычный объект - это неупорядоченная коллекция именованных значений.

По своей сути объект - это коллекция свойств, в которой каждое свойство имеет имя и значение.

Числа

Основной числовой тип JavaScript - это Number

Infinity - значение бесконечности (может принимать также отрицательное значение, -Infinity)

Код

4/0 // получим Infinity

NaN (not-a-number, или "не число")

Код

0/0 /* получим NaN */
Infinity/Infinity /* получим NaN */
"Alex" * 3 /* также получим NaN */

Строка

Используется для представления текста. В ES6 является итерируемой.

Для создания строки используются одинарные (' я строка '), двойные (" я строка ") и обратные кавычки (` я строка `).

Примеры правильного оформления строковых литералов:

Код
'' /* пустая строка, в ней 0 символов */

'alex'

"Meguiar's"

`"Она сказала 'Всё в силе' " - ответил он.`

"Д'Артаньян и три мушкетёра"

'Завод "Серп и Молот"'

Длинные строки можно разбивать на несколько:

Код

'две\nстроки'

"раз\
  два\
  три"

`это двухстрочная строка,
записанная в двух строках`

Символом обратной косой черты ( \ ) можно экранировать кавычки внутри самих строк, дабы избегать ошибок:

Код

'Д\'Артаньян и три мушкетёра'

Конкатенация строк - объединение строк путём присоединения второй строки в конец первой.

Код

let message = "Hello, " + "world"; // получаем "Hello, world"

Чтобы определить длину строки, используется её свойство length

Код

let message = "Hello, world";
console.log(message.length); // получаем 12

Так как строки относятся к простому типу данных, они не изменяемы, к примеру, метод toUpperCase() возвращает новую строку, а не модифицированную изначальную.

Для доступа к отдельным символам строки можно использовать квадратные скобки:

Код

let name = "Alex";

name[0] /* A */
name[name.length - 1] // x

Начиная с ES6, строки могут заключаться в обратные кавычки (бэктики), это даёт возможность представления строки в качестве шаблонного литерала, который может включать в себя произвольный код JavaScript (это называется интерполяция)

Код

let nameUser = "Sergey";
let message = `Hello, ${nameUser}`; // Hello, Sergey

Булевы значения

Есть только два возможных значения: истина (true) и ложь (false)

Любое значение в JavaScript может быть преобразовано в булево значение. Например, ниже значения, работающие подобно false:

undefined
null
0
-0
NaN
"" // пустая строка

Булевы операции:

&& ("И") - истинно, когда оба операнда истинны

|| ("ИЛИ") - истинно, когда хотя бы один (или оба) оператор истинный

! ("НЕ") - возвращает true, если операнд ложный и false, если операнд истинный

Объекты

Объект - это неупорядоченная коллекция свойств, каждое из которых имеет имя (обычно это строка, но может быть и Symbol, либо пустая строка) и значение.

Синтаксис объекта:

Код

let obj = {
  name: "Alex",
  age: 22
}

Если имя объекта составное (включает в себя пробелы, дефисы), то оно заключаеся в кавычки:

Код

let obj = {
  "user name": "Alex",
  age: 22
}

Большинство объектов в JavaScript наследуют свойства от ассоциированного с ними другого объекта, прототипа.

Чтобы получить значение свойства объекта, используется точка ( . ), либо квадратные скобки ( [] ).

Код

let userName = obj["user name"];

let result = obj.age;  

console.log(userName); /* Alex */
console.log(result); // 22

Создать новое свойство объекта:

Код

obj.status = true; /* создали свойство status для объекта obj */

/* Выведем содержимое объекта в консоль, чтобы убедиться, что у него добавилось новое свойство */

console.log(obj); // в консоли получаем: { 'user name': 'Alex', age: 22, status: true }

Изменим значение свойства "user name":

Код

obj["user name"] = "John";

/* Выведем содержимое объекта в консоль, чтобы убедиться, что значение изменилось*/

console.log(obj); // в консоли получаем: { 'user name': 'John', age: 22}

Удаляем свойство объекта:

Код

delete obj.age;

console.log(obj) // в консоли получаем: { 'user name': 'John' }

Массивы

Частный случай объекта, упорядоченная структура, в которой элементы пронумерованы, начиная с нуля.

Код

let arr = []; /* пустой массив */

let names = ['Alex', 'John', 'Bob']; // массив с данными

Получить доступ к элементу массива:

Код

names[0]; // Alex

Добавить новый элемент (или несколько элементов) в конец массива:

Код

names.push('Andry'); /* Добавляем один элемент в конец массива */

names.push('Andry', 'Robert', 'David'); // добавляем сразу несколько элементов в конец массива

Добавить новый элемент (или несколько элементов) в начало массива:

Код

names.unshift('Andry'); /* Добавляем один элемент в начало массива */

names.unshift('Andry', 'Robert', 'David'); // добавляем сразу несколько элементов в начало массива

Удалить последний элемент массива:

Код

names.pop();

Удалить первый элемент массива:

Код

names.shift();

В массиве могут быть различные данные:

Код

let arr = ["Alex", 2, [2, 3], {age: 22}, true];

Объект - это коллекция пар "ключ - значение". В массивах в качестве ключей выступают идентификаторы элементов (их порядковые номера).

КОММЕНТАРИИ (0)