ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript の三項演算子とは何ですか?

JavaScript の三項演算子とは何ですか?

青灯夜游
リリース: 2023-01-04 09:34:01
オリジナル
3359 人が閲覧しました

Javascript には、単純な選択構造に使用できる三項演算子「? ... :」が 1 つだけあります。基本的な構文は、「ブール式? 文 1 : 文 2」です。「ブール式」の値がis true の場合は、sentence1 が実行され、それ以外の場合は、sentence2 が実行されます。

JavaScript の三項演算子とは何ですか?

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 5、Dell G3 コンピューター。

javascript 三項演算子

JavaScript の三項演算子を判定に使用する場合、基本的な構文は次のとおりです。 expression ? 文 1 : 文 2

expression の値が true の場合は sentence1 を実行し、それ以外の場合は sentence2 を実行してください。コード

var b = 1,
       c = 1 
       a = 2;
   a >= 2 ? b++ : b--;
   b   // 2
   a < 2 ? c++ : c--;
   c   // 0
ログイン後にコピー

を見てください。上記のコードから、三項演算子は if else (詳細は後述)

 if(expression){ 
      sentence1;
   } else {
      sentence2;
   }
ログイン後にコピー

When expression と一時的に同等であると考えます。 true 、つまり expressionunknown, NaN, 0, null ではない場合に sentence1# が実行されます。 ##、そうでない場合は、sentence2 を実行します。

この関数は if と同じなので、なぜ使用するのでしょうか?まず、ロジックが複数回判定される場合、三項演算子のロジックはより簡潔になります:

 expression1 ? sentence1 :
   expression2 ? sentence2 :
   expression3 ? sentence3 :
   ...
ログイン後にコピー

いずれかの式N の判定が true である限り、文 N は直ちに実行されます。この判定は終了し、それ以降の判定は実行されなくなります。そして、if-else

if(expression1){
      sentence1;
   } else if(expression2){ 
      sentence2;
   } else if(expression3){
      sentence3;
   } ...
ログイン後にコピー

のようにロジックを書くと、このようにロジックを書くのが面倒になりそうなので、jquery や zepto のソース コードには三項演算子の応用が多く表示されます。

割り当て

もう 1 つの古典的なアプリケーション シナリオは、割り当て、

var param =expression? value1 : value2、これだと思います。

 var b,
      c = 1;
   var a = b ? 2 : 1;
   a    // 1
   var a = c > 0 ? 2 : 1
   a   // 2
ログイン後にコピー

ネゴシエートとネゴシエーションを頻繁に使用します

ある日、私はこのようなコードを書きました

 function xx(){
      var a = 1,
      b = 3;
      a < b ? return false : &#39;&#39;
  }
ログイン後にコピー

実際にエラーを報告しました! なぜエラーが報告されるのでしょうか? 上記の複数の判定を詳しく見ていきます

expression1 ? sentence1 :
   expression2 ? sentence2 :
   expression3 ? sentence3 :
   ...
ログイン後にコピー

1 つの式 N が true である限り、それはすぐに出力されます。原因は何でしょうか? 三項演算子がsentenceNを返すため、すぐに判定が飛んでしまうためと推測されます。代入の使い方も同様で、なぜエラーが報告されるかというと、

 if(expression){
      return (return 2);
   }
ログイン後にコピー

のように書くと必ずエラーが報告されるからです。したがって、上記の説明に疑問がある場合は、次のようなコードを使用して証明できます: 式の実行後に n が 1 ずつ追加されるため、

 var a = 1,
       b = 2;
   var c = b > 1 ? a++ : 0;
   c   // 1
ログイン後にコピー
c が 1 になるのはなぜですか。 ##、最初に戻り、次に 1 を追加します。つまり、ここでの c は 1 に等しいです。

プログラミング関連の知識の詳細については、プログラミング ビデオ

をご覧ください。 !

以上がJavaScript の三項演算子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート