カンマ演算子
JavaScript
1var x = ('ab', 10, 'egg');
2console.log(x);
3//egg と出力される意味がわかりません。
()
で括る事で式(Expression)として扱われます。
,
のカンマ演算子によって、最後の式が評価され、変数 x
には "egg"
が代入されています。
カンマ演算子の使い方
横からですが、どういったときに使用するのでしょうか?
カンマ演算子は、別々の文に存在している「式」を「1つの文」に収める場合に使います。
アロー関数の略式記法で比較的見られます。
JavaScript
1const foo = number => (number*=2, number + 'x' + number);
2foo(2); // "4x4"
あと、私はfor文の第二項目で使ったことがあります。
JavaScript
1for(var i = 0, len = 10, array = []; array.push(i), i < len; ++i);
2console.log(JSON.stringify(array)); // [0,1,2,3,4,5,6,7,8,9,10]
array.push(i)
を外に出すと、出力値が変化します。
JavaScript
1for(var i = 0, len = 10, array = []; i < len; ++i) array.push(i);
2console.log(JSON.stringify(array)); // [0,1,2,3,4,5,6,7,8,9]
例えば、[0,1,2,3,4,5,6,7,8,9]
を期待していた場合、
len === 9
なら前者(カンマ演算子)を使います
len === 10
なら後者を使います
変数 len
の値に応じて、両者を使い分ける事が出来ます。
Re: y.koyama さん
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/10/03 22:00
2020/10/03 22:28
退会済みユーザー
2020/10/03 22:42
2020/10/04 01:00