Оператор логического присваивания (logical assignment operator) - это комбинация оператора присваивания и логического оператора, который позволяет сократить запись, когда необходимо проверить значение переменной и присвоить ей новое значение на основе этой проверки.

В JavaScript есть три оператора логического присваивания: ||=&&=??=.

Оператор ||= (OR-присваивание) присваивает переменной значение справа от оператора, только если левая переменная имеет значение, которое преобразуется в логическое значение false (например, nullundefined0falseNaN).

Синтаксис оператора ||=:

variable ||= value

Пример использования оператора ||=:

let x = null
x ||= "default value"
 
console.log(x) // Вывод: "default value"

В этом примере, мы используем оператор ||= для присваивания переменной x значения “default value”, потому что ее исходное значение null преобразуется в логическое значение false.

Оператор &&= (AND-присваивание) присваивает переменной значение справа от оператора, только если левая переменная имеет значение, которое преобразуется в логическое значение true (например, любое значение, кроме nullundefined0falseNaN).

Синтаксис оператора &&=:

variable &&= value

Пример использования оператора &&=:

let x = 10
x &&= 20
 
console.log(x) // Вывод: 20

В этом примере, мы используем оператор &&= для присваивания переменной x значения 20, потому что ее исходное значение 10 преобразуется в логическое значение true.

Оператор ??= (Nullish Coalescing-присваивание) присваивает переменной значение справа от оператора, только если левая переменная имеет значение null или undefined.

Синтаксис оператора ??=:

variable ??= value

Пример использования оператора ??=:

let x = null
x ??= "default value"
 
console.log(x) // Вывод: "default value"

В этом примере, мы используем оператор ??= для присваивания переменной x значения “default value”, потому что ее исходное значение null.

Операторы логического присваивания могут быть полезны для написания более короткого и читаемого кода в JavaScript, особенно при работе с условными операторами и значениями по умолчанию. Однако, их использование может снизить читаемость кода, если они используются слишком часто или в сложных выражениях, поэтому их следует использовать с умом.


Назад