1. ホーム
  2. javascript

[解決済み] なぜjavascriptはif文の中にカンマを入れるのですか?

2023-08-31 10:34:22

質問

javascriptの構文で、ある種のパースエラーが発生しそうなものに出くわしましたが、そうではありません。

if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid
if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid

すべての式が実行されるにもかかわらず、最後の式だけがロジックに影響を及ぼしているように見えます。

if  (console.log('super'), true) {console.log('splendid')} // super splendid

なぜそれが有効なjavascriptの構文なのか、誰か知っていますか?何か実用的な使い方があるのでしょうか?

どのように解決するのですか?

カンマ演算子は複数の式を連結し、演算の結果は最後のオペランドの値になります。実際に使用するのは、代入や関数呼び出しなど、複数の副作用が必要なときだけです。