Javascript в настоящее время является одним из самых популярных и простых в изучении языков программирования и одним из самых популярных языков программирования для начинающих. Причина в том, что к настоящему времени он распространился почти на все уровни программирования. То есть в настоящее время он используется для разработки приложений на всех стеках, таких как интерфейсные (React, Angular или Vue.js), серверные (Node.js) и настольные приложения (Electron.js).

В 2021 году с последней версией javascript для программирования был введен новый тип оператора под названием «Операторы логического присваивания». То есть они ввели новый тип категории операторов, объединив два существующих оператора, которые являются логическими операторами (И, ИЛИ, НЕ) и операторами присваивания (=, + =, - =), которые мы знаем давно.

То есть, используя эти операторы, теперь мы можем выполнять операции присваивания логически с помощью простой единственной строчки кода.

Примечание. В настоящее время концепция операторов логического присваивания еще не появилась на других языках.

Хорошо, теперь давайте посмотрим, что это за новые операторы логического присваивания. На самом деле их 3, и это:

  1. Логическое И присвоение: && =
  2. Логическое ИЛИ: || =
  3. Логическое нулевое присвоение: ?? =

&& = (Логическое И присвоение)

Предположим, мы хотим присвоить значение переменной b переменной a. Но предположим, что вам нужно сделать это, только если есть значение для переменной a (то есть, только если «переменная a» истинна). Затем мы обычно пишем следующий код. Но теперь мы можем просто написать это как «a && = b». То есть присвойте b параметру a, только если есть значение для a.

if(a){
  a = b; 
}

Пример:

let a = 1;
let b = 2;
a &&= b;
console.log(a) //output for variable 'a' would be 2.

Таким образом, выше Оператор логического присваивания присваивает значение переменной b параметру a, только если переменная a имеет значение, то есть если только a - истинное значение.

|| = (Присвоение логического ИЛИ)

Работа блока кода «a || = b» похожа на то, что показано ниже:

if(!a){
  a = b; 
}

Работа этого оператора полностью противоположна оператору && =. То есть, если значение левого операнда ложно, то ему присваивается только значение правого операнда.

?? = (Логическое нулевое присвоение)

Блок кода «a ?? = b» работает примерно так, как показано ниже:

if(typeof a === "undefined" || a === null) {
  a = b; 
}

То есть этот оператор присваивает значение правому операнду (b), только если левый операнд (a) равен null или undefined.

Следующее видео дополнительно объясняет, как использовать эти три оператора.