ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript の `||` 演算子: 標準の論理 OR との違いは何ですか?

JavaScript の `||` 演算子: 標準の論理 OR との違いは何ですか?

Susan Sarandon
リリース: 2024-12-25 14:33:10
オリジナル
680 人が閲覧しました

JavaScript's `||` Operator:  How Does it Differ from a Standard Logical OR?

論理 OR 演算子 (||) と JavaScript のバリアント

二重パイプ演算子 (||) を理解する

ほとんどのプログラミング言語では、二重パイプ演算子 (||) は論理 OR 演算子を表します。これは 2 つのブール値を評価し、次のルールに従います:

  • 最初の値が false の場合、2 番目の値をチェックします。 true の場合は true を返します。それ以外の場合は false。
  • 最初の値が true の場合、2 番目の値に関係なく true を返します。

JavaScript の解釈

ただし、JavaScript ハンドル ||それは緩やかに型付けされた言語であるため、異なります。これは次のことを意味します:

  • 非ブール値: JavaScript では || の使用が許可されています。非ブール値を使用します。値が false (0、""、null など) の場合、false として扱われます。それ以外の場合は true。
  • 結果の変更: JavaScript の ||最初の値が false の場合、演算子は 2 番目の値 を返します。それ以外の場合は、最初の値を返します。

例:

(function(){}) || {}  // True (empty function is truthy)
ログイン後にコピー

JavaScript での実際の使用法

デフォルト関数パラメータ:

function (title, msg) {
  var title = title || 'Error';  // Assigns 'Error' if title is falsy
  var msg = msg || 'Error on Request';  // Assigns 'Error on Request' if msg is falsy
}
ログイン後にコピー

悪いプログラミング方法:

代入 ||変数に式を直接使用することは、偽の値をパラメータとして渡すことを防ぐため、推奨されません。次の関数を検討してください:

function badFunction(flagA) {
  flagA = flagA || true;  // FlagA always becomes true, even if passed false
}
ログイン後にコピー

ベター プラクティス:

代わりに明示的な虚偽チェックを使用します:

function goodFunction(flagA) {
  flagA = typeof flagA !== "undefined" ? flagA : true;  // Sets to true only if undefined
}
ログイン後にコピー

ES6 構文デフォルトパラメータ:

function goodFunction(flagA = true) {  // Sets to true only if omitted
}
ログイン後にコピー

結論:

JavaScript の ||演算子は他の言語と比較して独特の動作をします。デフォルト値の設定には便利ですが、予期しない結果や誤った値の上書きを避けるために慎重に使用する必要があります。

以上がJavaScript の `||` 演算子: 標準の論理 OR との違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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