JavaScript - オペレーター操作の問題
怪我咯
怪我咯 2017-05-19 10:33:27
0
2
486

n とガードが存在しない場合は、n==null が true となり、三項演算子ではガードが未定義になります。ブール値を false に変換すると、n と等しくなります。つまり、最終的な戻り値は次のようになります。未定義。
しかし、なぜ 1 が返されるのでしょうか?

リーリー
怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(2)
仅有的幸福

まず、操作の順番を間違えています

リーリー

|| (論理和) の演算の優先順位は、三項演算子

の優先順位よりも高くなります。

つまり (n==null || Guard ? 1 : n) は、最初に論理和を計算し、次に三項演算子を計算します

ここではtrue ? 1 : n
となるので、出力n
どの本から取ったか覚えていない

操作の優先順位の写真を添付し​​ます。
いいねを押す +0
巴扎黑

リーリー

||優先度は三眼より高いので、(true || ガード) 1:n ===> 1 :n

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート