JavaScript入門 知っているとちょっとだけ幸せになるかもしれない 代入演算子の戻り値
クイズです。以下のコンソールログは何を出力するでしょうか。
let hoge;
console.log(hoge = 'abc');
正解は「abc」です。
代入演算子を使った場合も、実は戻り値があります。
戻り値は右辺の値です。
これを踏まえて以下のコンソールログが何を出力するかを考えてみましょう!
const myObj = {};
myObj[myObj['hoge'] = 0] = 'hoge';
console.log(myObj);
正解は以下です!
{
0: "hoge",
hoge: 0
}
myObj['hoge’] = 0 の部分により、myObj は {hoge: 0} となります。
そしてこの代入演算子の戻り値は 0 なので、myObj[0] = 'hoge’ となり、{hoge: 0, 0: 'hoge’}となります。
最近のコメント