JavaScript で論理演算子を使用すると何が得られますか?

Barbara Streisand
リリース: 2024-11-22 10:02:16
オリジナル
901 人が閲覧しました

What Do You Get Back When You Use Logical Operators in JavaScript?

JavaScript で論理演算子の非ブール戻り値をナビゲートする

質問は特定の論理式にブール戻り値がないことに焦点を当てていますが、これは、論理演算子 || の動作に関する JavaScript のより広い概念を強調しています。 (OR) および && (AND)。

JavaScript では、 || && は、完全に決定された論理値に達すると早期に終了する短絡演算子です。これは、最初のオペランドで結果を決定するのに十分な場合、2 番目のオペランドの評価がスキップされることを意味します。

たとえば、式 X || では、 Y、X が真の値 (明示的に偽ではないもの: true、オブジェクト、文字列など) に評価される場合、X が直ちに返され、Y の評価は不要になります。

同様に、 X && Y で、X が falsey と評価されると、評価は停止し、Y をバイパスして X が返されます。

式が次の場合に問題が発生します。偽の値に評価されます。 JavaScript 1.2 より前では、演算子はブール値 false を返しました。ただし、JavaScript 1.2 以降では、実際に評価された値が返されます。

したがって、提供された式では次のようになります。

  1. (obj.fn && obj.fn()) ||オブジェクト || (obj._ = {}): obj.fn が存在し、真の値に評価される場合、式は obj.fn() の結果を返します。それ以外の場合は、obj._ が定義されている場合は obj._ を返し、obj._ が定義されていない場合は新しいオブジェクトを作成して obj._ に割り当てます。
  2. obj && obj._: これは単純に obj._ if になります。 obj が真実である場合、そうでない場合は obj が返されます。

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

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