Литералы в JavaScript
Во время учебы студенты первое время часто слышат слово «литерал», но не понимают о чем оно говорит — его суть. После прочтения этой статьи вы, наконец, сможете употреблять это слово верно и понимать о чем говорят учителя.
Литералы в программировании — это константные значения, представленные в исходном коде. Они используются для непосредственного представления данных определенных типов, таких как числа, строки, булевы значения.
Все, что нужно знать о литералах
Их особенность состоит в том, что они имеют фиксированные значения и не могут изменяться по ходу выполнения программы, поясним:
let a = 10; // значение переменной а равно 10
let a = 11; // значение переменной а изменилось на 11, но значение литерала на первой строчке по прежнему равно 10, а на второй 11
console.log(a) // программа выведет число 11, но литерал на 1 строчке кода все равно будет 10 - это программа изменить не может
Изменить их можно только в режиме редактирования кода: то есть если вы зайдете в JS-файл и руками поменяете их значение. И кроме всего — они не имеют имени: в примере let a = 10; — литералом будет являться число 10 и не более того.
Типы литералов в Javascript
Литералы могут быть самых различных типов, давайте рассмотрим их поподробнее ↓
Числовые литералы
В числовые литералы входят целые числа (например, 123 или -456), числа с плавающей точкой (например, 3.14 или -0.5), нотация с экспонентой ( например, 2e3 (равно 2000) или 1.5e-2 (равно 0.015)). Они могут быть записаны в десятичной, шестнадцатеричной, восьмеричной или двоичной системе счисления:
let a1 = 1000000; // это переменная с десятичным литералом числа 1000000
let a2 = 1_000_000; // в этом случае символ нижнего подчеркивания используется для простоты восприятия и игнорируется движком JS
let a3 = 1e6; // короткая запись 1 миллиона с помощью нотации с экспонентой
const b = -3.14; // число с плавающей точкой
const y = 0xA; // это переменная с шестнадцатеричным литералом числа 10 (0x означает шестнадцатеричную систему)
const z = 0o12; // это переменная с восьмеричным литералом числа 10 (0o означает восьмеричную систему)
const w = 0b1010; // это переменная с двоичным литералом числа 10 (0b означает двоичную систему)
Строковые литералы
Строковые литералы представляют собой последовательность символов и обычно заключаются в одинарные или двойные кавычки:
const str1 = 'Hello'; // это литерал строки в одинарных кавычках
const str2 = "World"; // это литерал строки в двойных кавычках
Логические литералы
Тип Boolean имеет два логических литеральных значения: истину (true) или ложь (false):
const x = true; // это переменная с литералом true
const y = false; // это переменная с литералом false
Литералы массивов
Литерал массива — это упорядоченный набор значений и заключаются в квадратные скобки [], элементы в нем разделяются запятыми:
let arr = [1, 2, 3]; // это литерал массива
let arr= ['яблоко', 'груша', 'апельсин']; // это тоже литерал массива
Литералы объектов
Любой литерал объекта имеет под собой структуру данных, которая содержит свойства (ключи и значения) и методы (функции). Литералы объектов заключаются в фигурные скобки {}:
// это литерал объекта
let obj = {
name: 'Олег', // это свойство объекта с ключом name и значением 'Alice'
age: 25, // это свойство объекта с ключом age и значением 25
greet: function() { // это метод объекта с ключом greet и значением функции
console.log('Привет ' + this.name); // this указывает на текущий объект
} // конец метода
}; // конец объекта
Литералы регулярных выражений
Литерал регулярных выражений включает в себя шаблон для поиска или замены текста. Он записывается с помощью символа слэш / и содержит символы регулярного выражения:
const re = /ab+c/; // это литерал регулярного выражения, который ищет одну или более букв b между a и c
const str = 'abc ac adc abbc xabcy'; // это строка для поиска
const result = str.match(re); // это метод, который применяет регулярное выражение к строке и возвращает массив совпадений
console.log(result); // выводит ["abc", "abbc", "abc"]
Шаблонные литералы
Шаблонные литералы или шаблонные строки выглядят как строка с подстановками — выражениями, которые вычисляются и вставляются в строку. Они записываются в обратных кавычках ` и содержат символы строки и подстановки, заключенные в фигурные скобки ${}:
const name = 'Alice'; // это переменная с именем
const age = 25; // это переменная с возрастом
const str = `Hello, my name is ${name} and I am ${age} years old`; // это литерал шаблона с подстановками
console.log(str); // выводит Hello, my name is Alice and I am 25 years old
Литерал Null
Такой литерал представляет отсутствие значения или объекта и записывается как null:
const x = null; // это переменная с литералом null
Литерал undefined
Слово undefined указывает на неопределенное (неинициализированное) значение:
let name = undefined;