Как задать значение по умолчанию
Короткий ответ
Оператор ?? возвращает правое значение, только если левое равно null или undefined:
const limit = undefined;
console.log(limit ?? 10);Результат:
10Параметры функции
Значение по умолчанию можно указать прямо в списке параметров:
const greet = (name = 'guest') => `Hello, ${name}!`;
console.log(greet());
console.log(greet('Anna'));Результат:
Hello, guest!
Hello, Anna!В деструктуризации
При распаковке объекта настроек задайте значения по умолчанию для каждого поля:
const createButton = ({ text = 'OK', color = 'blue' } = {}) => `${text} (${color})`;
console.log(createButton({ text: 'Save' }));
console.log(createButton());Результат:
Save (blue)
OK (blue)Присвоить, только если пусто
??= записывает значение, только если свойство пустое:
const options = { retries: 0 };
options.retries ??= 3;
options.timeout ??= 5000;
console.log(options.retries, options.timeout);Результат:
0 5000Частая ошибка
Оператор || заменяет все ложные значения, включая 0 и пустую строку:
const volume = 0;
console.log(volume || 50);
console.log(volume ?? 50);Результат:
50
0Функции из этого ответа
- Nullish coalescing (??) — Возвращает значение справа, если слева null или undefined.
- Destructuring assignment — Достаёт значения из массива или объекта в отдельные переменные.