JavaScript の代入演算子

??=

変数が null または undefined の場合のみ代入処理が行われる。

let a = null;
a ??= 'hello';
console.log(a); // => hello

let b = 'world';
b ??= 'hello';
console.log(b); // => world

let c;
c ??= 'hoge';
console.log(c); // => hoge

参考サイト


||=

変数が falsy な場合のみ代入処理が行われる。

let d = 0;
d ||= 100;
console.log(d); // => 100

let e = '';
e ||= 'fuga';
console.log(e); // => fuga

let f = 1;
f ||= 200;
console.log(f); // => 1

参考サイト


&&=

変数が truthy な場合のみ代入処理が行われる。

let g = 1;
g &&= 300;
console.log(g); // => 300

let h = 0;
h &&= 400;
console.log(h); // => 0

let i = 'a';
i &&= 'foo';
console.log(i); // => foo

let j = '';
j &&= 'bar';
console.log(j); // => ''

参考サイト

«