ホームページ > 記事 > ウェブフロントエンド > JavaScript では「options = options || {}」は何をしますか?
JavaScript の「options = options || {}」を理解する
「options = options || {}」のようなコード スニペットが表示された場合;" とすると、その機能について疑問が生じます。このスニペットは、関数の引数のデフォルト値を設定するためによく使用されます。
この式の中核は、論理 OR (||) 演算子にあります。この演算子はオペランドを順番に評価し、最初に見つかった真の値を返すか、すべてが偽の場合は最後の値を返します。この場合、「オプション」が最初に評価されます。 「options」が false (未定義、null、0、「」など) の場合、false と評価され、式は「options || {}」になります。
「{}」は JavaScript です。空のオブジェクトを表すオブジェクト リテラル。したがって、「options」が最初に定義されていない場合、この式は空のオブジェクトを「options」変数に割り当てます。 "options" が既に存在する場合、"options" が真の値であるため、評価は停止します。
このパターンは、関数の引数が未定義として渡されたときに、デフォルト値で初期化するために使用されます。例:
function test(options) { options = options || {}; }
この関数が引数なしで呼び出された場合、「オプション」には空のオブジェクトが割り当てられます。 「オプション」が明示的に未定義として渡された場合、デフォルト値も取られます。
ES6 Update
ES6 ではデフォルトのパラメータ値が導入され、この式はデフォルトを設定するために廃止されました。 。 ES6 では、次の構文を使用してデフォルト値を設定できます:
function test(options = {}) { //... }
この構文では、「options」が未定義として渡されるか、明示的に未定義に設定されている場合、空のオブジェクトのデフォルト値が使用されます。 。 || とは異なります。演算子パターン、他の偽の値はデフォルト値の使用をトリガーしません。
以上がJavaScript では「options = options || {}」は何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。