この記事では、ES6 のデフォルト パラメーターについて説明します (コード例)。必要な方は参考にしていただければ幸いです。
function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements }
function sum(a=0, b=0){ return a+b } sum() // 0 sum(1) // 1 sum(1, 2) // 3
使用 babel
翻訳
function sum() { var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; return a + b; }
babel It より翻訳結果から、デフォルトのパラメータは 2 つの状況のみをチェックすることがわかります。
パラメータは渡されません
未定義のパラメータを渡します
function sum(a=0){ return typeof a } sum() // 'number' sum(undefined)// 'number' sum(1) // 'number' sum('1') // 'string' sum(null) // 'object' sum(false)// 'boolean'
前のパラメータは後続のパラメータのデフォルト値として使用でき、前のパラメータに対して次のような特別な操作を実行することもできます。単純な加算、減算、乗算、除算
function sum(a=1, b=a, c=a+b){ return [a, b, c] } sum() // [1, 2, 3] sum(2) // [2, 2, 4] sum(2,2) // [2, 2, 4] sum(2,2,2) // [2, 2, 2]
デフォルトのパラメータを割り当てることで関数を呼び出すこともでき、関数が全能であることがすでに示されています~#。 ##
function sum(a=1, b=(()=>4)()){ return [a, b] } sum() // [1, 4] sum(2) // [2, 4] sum(2,2) // [2, 2]
Note: 呼び出すことはできません 関数内で宣言された関数はデフォルト値として使用されます
function sum(a=1, b=num2()){ function num2(){ return 4 } return [a, b] } sum() // Uncaught ReferenceError: num2 is not defined
function sum(a=1, b ){ return [a, b] } sum() // [1, undefined] sum(2)// [2, undefined] sum(1,2) //[1, 2]
function sum([x, y] = [1, 2], {z: z} = {z: 3}) { return [x, y, z]; } sum() // [1, 2, 3] sum([2,4],{z: 6}) // [2, 4, 6]
以上がES6 のデフォルトパラメータの紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。