ES6 - 拡張機能

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

前ES6のために、直接、関数のパラメータのデフォルト値を指定するが、代替の方法を使用していません。

function log(x, y) {
  y = y || 'World';
  console.log(x, y);
}

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello World

表面コードチェック機能のlogパラメータyが値を持たない、とされていない場合、デフォルト値が指定されていますWorldこのようなアプローチは、Yパラメータの割り当てが、対応するブール値があれば、という問題false、割り当てが仕事をしません上記のようにコードの最後の行は、パラメータがyヌル文字に等しく、結果はデフォルト値に変更しました。

この問題を回避するには、通常、あなたはどのようなパラメータを決定する必要がy割り当てられた場合には、そうでない場合は、デフォルト値に等しいです。

if (typeof y === 'undefined') {
  y = 'World';
}

ES6関数、すなわちパラメータ定義の直後に書き込まれ、パラメータのデフォルト値を設定することを可能にします。

function log(x, y = 'World') {
  console.log(x, y);
}

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello

おすすめ

転載: www.cnblogs.com/tangge/p/12008547.html