ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 論理演算子はどのようにしてオブジェクトを返すことができるのでしょうか?

JavaScript 論理演算子はどのようにしてオブジェクトを返すことができるのでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-26 15:11:09221ブラウズ

How Can JavaScript Logical Operators Return Objects?

JavaScript の論理演算子を理解する: オブジェクトを返すことができる理由

JavaScript では、&& (and) や || などの論理演算子が使用されます。 (または) は通常、ブール値 (true または false) に評価されることが期待されます。ただし、特定のシナリオでは、オブジェクトを返すこともできます。この驚くべき動作に最初は当惑するかもしれません。

この現象を詳しく調べるために、次のコード スニペットを分析してみましょう:

var _ = (obj.fn && obj.fn()) || obj._ || (obj._ = {});

var _ = obj && obj._;

最初の例では、obj.fn が最初に評価されます。定義されている場合、式 obj.fn() の結果が返されます。それ以外の場合、式 obj._ が評価され、obj.fn も obj._ も存在しない場合は新しいオブジェクトが作成されます。

同様に、2 番目の例では、obj が最初に評価されます。 obj が存在する (true と評価される) 場合、結果は obj._ の値になります。ただし、obj が存在しない (false と評価される) 場合は、元の obj 値自体が返されます。

論理短絡動作の解明

この動作は次のとおりです。 && と || の論理的短絡の性質から。言い換えれば、これらの演算子は、結果がすでに明らかな場合の不必要な評価を避けて、できるだけ早く「論理値」を返そうとします。

|| の場合、左側の式が次のように評価される場合、 true の場合、即座に返され、右側の式はまったく評価されません。逆に、左側の式が false と評価された場合は、右側の式が評価されて返されます。

JavaScript における false と値の戻り

もう 1 つの側面この動作に影響するのは、JavaScript で偽の値がどのように扱われるかです。 JavaScript の不正な値には、false、0、NaN、空の文字列、null、および unknown が含まれます。

JavaScript のバージョン 1.2 より前では、 ||式が false と評価された場合に false を返しました。ただし、バージョン 1.2 以降では、式の実際の値が返されます。これは、左側の式が false の場合、右側の式の値が返されることを意味します。

同様に、&& の場合、左側の式が true と評価されると、右側の式が返されます。が評価され、その値が返されます。ただし、左側の式が false と評価された場合、JS 1.0 および 1.1 では false が返されますが、JS 1.2 以降では左側の式の値が返されます。

結論

論理的短絡動作と JavaScript による偽の値の処理を理解することは、論理演算子の驚くべき戻り値が返されることがあります。これらの演算子は効率を優先しており、JavaScript では虚偽の解釈が異なる可能性があることを認識することで、これらの演算子の複雑さを自信を持ってナビゲートできます。

以上がJavaScript 論理演算子はどのようにしてオブジェクトを返すことができるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。