Идиоматичные современные сокращения в JavaScript, заменяющие громоздкий шаблонный код.
Основные шаблоны сокращений
Оператор нулевого слияния (??) и резервные значения
// ?? строго проверяет только на null или undefined (сохраняя 0 и false)
const port = process.env.PORT ?? 3000;
// || переключается на запасное значение при любом falsy-значении (0, "", false, NaN)
const title = customTitle || 'Untitled';
Опциональная цепочка (?.)
// Безопасный доступ к глубоко вложенным свойствам без выброса TypeError
const street = user?.address?.street;
const firstTag = user?.tags?.[0];
const result = user?.getProfile?.();
Короткое замыкание вычислений (&&)
// Выполняет функцию только при истинности условия
isLoggedIn && showDashboard();
Сокращенная запись свойств и методов объектов
const name = 'Alice';
const age = 30;
// Сокращенный синтаксис объектного литерала
const user = {
name,
age,
greet() {
return `Hello ${this.name}`;
}
};
Деструктуризация массивов и объектов
const { name, age, role = 'member' } = user;
const [first, second, ...rest] = [1, 2, 3, 4, 5];