javascript 論理和代入演算子(||=)を使用して変数代入を少し省略する

javascript 論理和代入演算子(||=)を使用して変数代入を少し省略する

javascriptで、演算子(||=)を使用して変数代入を少し省略するサンプルを掲載してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 108.0.5359.99

論理和代入演算子(||=)

論理和代入演算子(||=)を使用すると、変数に値が存在するかを判定して、あればそのまま、なければ値を代入することができます。

'use strict'

let x = 10
let y

x ||= 20

console.log(`x=${x}`)

y ||= 20

console.log(`y=${y}`)

実行結果

論理和代入演算子(||=)は、以下のコードの場合、

x ||= y

次のコードと同じこととなります。

x || (x = y)

or

if(!x){
  x = y; 
}

論理積代入演算子(&&=)

論理積代入演算子(&&=)は、以下と同じになります。

x && (x = y)

or

if(x){
  x = y; 
}

実際に使用してみて結果を確認してみます。

'use strict'

let x = 10
let y

x &&= 20

console.log(`x=${x}`)

y &&= 20

console.log(`y=${y}`)

実行結果

論理null代入演算子(&&=)

論理積代入演算子(&&=)は、以下と同じになります。

x ?? (x = y)

or

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

実際に使用してみて結果を確認してみます。

'use strict'

let x = 10
let y
let z = null

x ??= 20

console.log(`x=${x}`)

y ??= 20

console.log(`y=${y}`)

z ??= 20

console.log(`z=${z}`)

実行結果