Перейти к основному содержимому

JS: Оператор объединения с null (??=)

Оператор ??= в JavaScript называется оператором объединения с null (nullish coalescing operator). Он используется для присваивания значения переменной только в том случае, если ее текущее значение равно null или undefined.

В общем виде, оператор ??= выполняет следующее действие: если переменная была undefined или null, то присваивает ей указанное значение. В противном случае, если переменная уже имеет определенное значение, ничего не изменяется.

let a;
let b = 0;

// assign a value only if current value is null or undefined

a ??= 'default'; // a is now 'default'
b ??= 5; // b is still 0

Переменная a объявлена, но не получила значения, поэтому ее текущее значение равно null или undefined. Затем используется оператор ??=, который проверяет, равно ли текущее значение переменной a null или undefined. Если это так, то переменной a присваивается значение 'default'. В результате, после выполнения операции a ??= 'default', значение переменной a становится равным 'default'.

Переменная b уже имеет значение, равное 0. Затем используется оператор ??=, который проверяет, равно ли текущее значение переменной b null или undefined. В этом случае условие не выполняется, так как значение b не является null или undefined. Следовательно, переменная b остается с прежним значением 0.