ホームページ > 記事 > ウェブフロントエンド > JavaScript、関数のデフォルトパラメータを理解する
JavaScript は勉強や仕事に関係するため、関数も JavaScript の大部分を占めていることを理解する必要があります。そして関数は常に変化しています。この記事は JavaScript を理解して習得するのに役立ちます。
JavaScript関数は、デフォルトのパラメータ値を持つことができます。 関数パラメータをデフォルト設定することで、仮パラメータをデフォルト値で初期化できます。特定の値のパラメータが初期化されていない場合、パラメータのデフォルト値は未定義です。
次のコードを見てください:
function foo(num1){ console.log(num1); } foo();
関数 foo を呼び出すとき、パラメータは渡されていないため、variablenum1 のデフォルト値は未定義に設定されます。ただし、未定義ではなくデフォルト値を設定したい場合もあります。以前は、パラメータ値を未定義にテストしてから値を割り当てることが最善の戦略でした。したがって、上記の例で、num1 のデフォルト値を 9 に設定したい場合は、次のコードのように行うことができます:
function foo(num1) { if (num1 === undefined) { num1 = 9; } console.log(num1); } foo();
ECMAScript 6 では、関数のデフォルト パラメーターが導入されました。 ECMA 2015 のデフォルト パラメーター機能を使用すると、未定義のパラメーター値をチェックする必要がなくなりました。これで、パラメータ自体のデフォルト値として 9 を設定できるようになりました。次のように、上記の関数をオーバーライドして デフォルト値を使用することができます:
function foo(num1 =9) { console.log(num1); } foo();
関数 foo の場合、引数 num1 の値が渡されない場合、JavaScript は num1 のデフォルト値として 9 を設定します。
未定義のパラメータをチェックする
関数呼び出し時にパラメータ値として明示的に未定義を渡しても、パラメータ値はデフォルト値に設定されます。
function foo(num1 =9) { console.log(num1); } foo(undefined);
上記のコードでは、num1 の値として未定義を渡しているため、num1 の値はデフォルト値の 9 に設定されます。
実行時に計算されるデフォルト値
JavaScript関数のデフォルト値は実行時に計算されます。これをよりよく理解するには、次のコードを見てください:
function foo(value = koo()) { return value; } function koo() { return "Ignite UI"; } var a = foo(); console.log(a);
関数 foo では、パラメーター値のデフォルト値が関数 koo に設定されています。関数 foo が実行時に呼び出されると、関数 koo が評価されます。 foo 関数を呼び出すと、以下に示すような出力が得られます (この例では、Ignite UIフレームワークを使用しました)。
デフォルトパラメータの再利用
デフォルトパラメータは後続のデフォルトパラメータで使用できます。次のコードを見てください:
function foo(num1 = 9, num2 = num1 + 8){ console.log(num2); } foo();
上記のコードでは、num1 のデフォルト値を使用して num2 のデフォルト値が計算されます。関数 foo を呼び出すと、次の出力が得られます:
結論
JavaScript のデフォルト パラメーターは、関数を作成するときに非常に便利です。デフォルト パラメーター機能を使用すると、関数呼び出し時に関数パラメーターが欠落している場合、未定義として定義するのではなく、関数パラメーターにデフォルト値を割り当てることができます。
関連書籍:
以上がJavaScript、関数のデフォルトパラメータを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。