Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как задать значение по умолчанию

Короткий ответ

Оператор ?? возвращает правое значение, только если левое равно 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 — Достаёт значения из массива или объекта в отдельные переменные.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.