Last active
March 31, 2024 13:33
-
-
Save pointofpresence/a6ee64ba1be4b4dbcb0545aba98b6886 to your computer and use it in GitHub Desktop.
JS: Оператор объединения с null (??=)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Оператор ??= в 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.