問題タブ [ternary-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP クラス メソッドの return ステートメントで 3 項を使用できますか?
これはできますか?(現時点では、自分で確認するためにテストすることはできません)
java - 三項演算子は常に括弧で囲む必要がありますか?
Checkstyle は、次の点について不満を述べています。
かっこは不要だと言います。
ステートメントは確かにそれらがなくても問題なく機能しますが、それらが存在する方がはるかに読みやすいように見えます---それ以外の場合、私がそれを読んでいると、私は見る傾向があります:
最初に残りを検討するために一時停止する必要があります
一部、私の脳はすでに1つの道をたどっているので。
さらに、括弧でグループ化されていない限り、三項演算子を見るたびに同じことをする傾向があります。
だから:三項の周りのかっこは事実上の標準であるべきですか?それらをそこに置かない理由はありますか?
c# - 完全なif/elseステートメントと条件演算子
重複の可能性:
条件付き?:(三項)演算子を使用する利点
条件付き演算子は遅いですか?
こんにちは、みんな、
さまざまなif/elseステートメントに関して非常に簡単な質問があります。
より少ないコードを書くこととは別に、完全なif / elseステートメントとは対照的に条件演算子を使用することの他の利点はありますか?
パフォーマンスの向上、コンパイルされたコードの減少、またはそれを使用するときに私に利益をもたらす何か他のものはありますか?
あなたの助けに感謝
マルコ
c++ - 条件演算子による「無効な変換」エラー
この行でコンパイルエラーが発生します:
エラー:
MenuItemsは、次のクラスのstd::vectorです。
mn_yesとmn_noはstd::stringsです。
コンパイラはMinGW(code ::blocksで配布されるバージョン)です。
c# - 三項演算子とC#のifステートメントに違いはありますか?
null許容のDateTimeオブジェクトを使用していて、奇妙な動作に遭遇しました。サンプル関数は次のとおりです。
私の知る限り、三項演算子の行は前の4行と同じである必要がありますが、VS2010では、<null>
とDateTimeの間に変換が存在しないというコンパイルエラーが発生します(問題のオブジェクトは'DateTimeですが) ?')。三項演算子について知っておくべきことはありますか、それともこれはバグですか?
c# - 条件演算子を使用しますか?nullセッション変数をチェックする
このコードを見てください:
基本的に、HttpContext.Current.Session ["pdfDocument"]がnullでないかどうかを確認し、ブール値にキャストしない場合は、trueかfalseかを確認します。
私はネストされたifステートメントを避けようとしており、それを行うためのよりエレガントな方法があると考えました。したがって、私は条件付きの回答を含む回答にのみ興味がありますか?オペレーター。
任意のヒント?
php - 「?」で行われる条件についてはどこで読むことができますか?および「:」(コロン)?
重複の可能性:
参照-この記号はPHPで何を意味しますか?
私はif/elseまたは1年かそこらで条件文をやっています。いくつかの新しいコードを見ると、ifやelseの代わりに?
andを使用しているように見える条件が表示されています。:
これについてもっと知りたいのですが、それがどのように機能するかを説明する記事を見つけるためにグーグルで何を検索すればよいかわかりません。どうすればいいですか?
javascript - 三項 (条件付き) 演算子とスタイル
そもそも三項条件演算子が嫌いなら、返信する必要はありません;)
通常、これは次のような代入式と組み合わせて使用されます。
ただし、次のような単純なコードを置き換えるために使用したいと思います。
代わりに次のようにします。
私はJavaScriptでこれをやっている可能性があります。上記では未定義を返すため、割り当ては必要ありません。私は節約されたスペースが好きですが、このタイプの使用について人々がどう思うか疑問に思っています。
編集:「意図を隠す」ことをほのめかす回答を見てきました。古典的に式で使用されていますが、式で使用するよりも意図を隠しているのはなぜですか? 特に、至る所で三項演算子の使用が見られる動的言語では?
c# - 三項演算子VBとC#:何もゼロに解決しないのはなぜですか?
私はただ自分の足を撃ち、この状況を可能にする実際の理由があったかどうか知りたいです。
そしてとにかく、この質問は将来のフットシューターの便宜のためにとどまることができます。
vb.netにnull許容値があるとします。
条件に基づいて、三項演算子を使用して値を割り当てたいと思います。これは、非常に優れているためです。
つまり、条件がtrue
である場合はnull可能性を使用し、そうでない場合は値を使用します。
その時点で射撃が行われます。明らかな理由はありませんが、VBコンパイラはとの共通ベースタイプを決定します。Nothing
その時点で、VBコンパイラはステートメントを次のようにサイレントに変換しますInteger
。Integer
さて、これをC#で行う場合:
<null>
とうまく混ざらないというコンパイラエラーがすぐに発生しint
ます。今回はC#の方法で行っていたら、足が健康だったので、これは素晴らしいことです。そして、これをコンパイルするには、明示的に次のように記述する必要があります。
これで、 VBでも同じことができ、期待する正しいヌルネスを取得できます。
しかし、そもそも足を撃たなければなりません。コンパイラエラーや警告はありません。それはExplicit On
とStrict On
です。
だから私の質問は、なぜですか?
これをコンパイラのバグと見なす必要がありますか?
または、コンパイラがこのように動作する理由を誰かが説明できますか?