Skip to content

Instantly share code, notes, and snippets.

@pointofpresence
Last active March 31, 2024 13:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pointofpresence/a6ee64ba1be4b4dbcb0545aba98b6886 to your computer and use it in GitHub Desktop.
Save pointofpresence/a6ee64ba1be4b4dbcb0545aba98b6886 to your computer and use it in GitHub Desktop.
JS: Оператор объединения с 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
@pointofpresence
Copy link
Author

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment