「Else」のないJavaScriptの三項演算子

オスカーゴッドソン:

私はいつもnull何もないelse条件を置かなければなりませんでした。とにかく周りにありますか?例えば

condition ? x = true : null;

基本的に、行う方法はありますか:

condition ? x = true;

今度は構文エラーとして表示されます

参考までに、ここにいくつかの実際のサンプルコードがあります:

!defaults.slideshowWidth ? defaults.slideshowWidth = obj.find('img').width()+'px' : null;
Sean Kinsey:

まず、3項式はif / else構成の代わりにはなりませんこれ、値返す if / else構成と同等です。つまり、もし/ else節は三式があり、コードで表現、それが値を返すことを意味し、。

これはいくつかのことを意味します:

  • の左側に変数があり=、戻り値が割り当てられている場合にのみ、3項式を使用します
  • 戻り値が2つの値のいずれかになる場合にのみ3項式を使用します(または、それが当てはまる場合はネストされた式を使用します)
  • 式の各部分(?の後と:の後)は副作用なしで値を返す必要があります(x = trueすべての式が最後の値を返すため、式はtrueを返しますが、xを変更せずにxを変更して戻り値に影響を与えます)

要するに-三元表現の「正しい」使用は

var resultofexpression = conditionasboolean ? truepart: falsepart;

condition ? x=true : null ;3値式を使用しての値を設定する例の代わりに、次のように使用xできます。

 condition && (x = true);

これはまだ式であるため、検証に合格しない可能性があるため、さらに優れたアプローチは

 void(condition && x = true);

最後のものは検証に合格します。

ただし、期待値がブール値の場合は、条件式自体の結果を使用するだけです。

var x = (condition); // var x = (foo == "bar");

更新サンプルに関連して、これはおそらくより適切です。

defaults.slideshowWidth = defaults.slideshowWidth || obj.find('img').width()+'px';

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

三項演算子のelse部分で「何もしない」?

分類Dev

中間式のない三項演算子

分類Dev

elseif else else三項演算子の場合

分類Dev

小枝の三項演算子、速記if-then-else

分類Dev

JavaScriptの三項演算子とif / elseステートメント

分類Dev

Javascriptの三項演算子の結果

分類Dev

Javascriptでの三項演算子の操作

分類Dev

javascriptでの三項演算子の使用

分類Dev

javascriptの三項演算子「連鎖」

分類Dev

Javascript:「if」条件内の三項演算子

分類Dev

Javascript三項演算子の左辺値

分類Dev

Coffeescriptとjavascriptの三項(疑問符演算子)の違いは?

分類Dev

java:三項演算子の奇妙なNullPointerException(?:)

分類Dev

適切な三項演算子の形式

分類Dev

三項演算子の結果の予期しないタイプ

分類Dev

C ++での三項演算子の予期しない動作

分類Dev

C#での三項演算子の予期しない動作

分類Dev

三項演算子と&&演算子の正確な違いは何ですか?

分類Dev

C#の三項演算子が機能しない

分類Dev

React / JSXの三項演算子が機能しない

分類Dev

三項演算子からの予期しない結果

分類Dev

SwiftUIの三項演算子で「何もしない」方法は?

分類Dev

C#の三項演算子。一瞬わからない

分類Dev

三項演算子からの予期しない出力

分類Dev

三項演算子の奇妙な振る舞い

分類Dev

OR演算 "||"ができない理由 このJavaScriptコードの三項演算子「?:」を置き換えますか?

分類Dev

三項演算子の制限

分類Dev

Bashの三項演算子(?:)

分類Dev

Bashの三項演算子(?:)

Related 関連記事

ホットタグ

アーカイブ