1. ホーム
  2. ジャバスクリプト

[解決済み】if-elseの省略記法で2つ目の式を省略した場合

2022-04-14 09:06:58

質問

を書くことはできますか? if else を使わないで else ?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();   

を置くことに気づきました。 null をelseにするとうまくいきます(でも、なぜなのか、それが良いアイデアなのか、私にはわかりません)。

編集する なぜ私がこのようなことをするのか、不思議に思われる方もいらっしゃると思います。純粋に好奇心からなので、ご安心ください。JavaScriptをいじくり回すのが好きなんです。

解決方法は?

これも選択肢の一つです。

x==2 && dosomething();

dosomething() は、以下の場合にのみ呼び出されます。 x==2 が true と評価された場合。これは 短絡的な .

このような場合、一般的には使われないので、本当にこのようなコードを書くべきではありません。私はこのようなシンプルなアプローチを推奨しています。

if(x==2) dosomething();

もしファイルサイズが気になるなら、多くのJSコンプレッサーの助けを借りて、minifiedバージョンを作成すればいいのです。(例: Googleの クロージャコンパイラ )