Литералы в JavaScript

Литералы в 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;
Софья Пирогова

Софья Пирогова

автор статей / копирайтер