ホームページ  >  記事  >  ウェブフロントエンド  >  ES6 のデフォルトパラメータの紹介 (コード例)

ES6 のデフォルトパラメータの紹介 (コード例)

不言
不言転載
2018-11-14 15:34:261718ブラウズ

この記事では、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
順番に上書きされます

パラメータは上書きされます呼び出されたときに送信される順序で 1 つずつ実行され、デフォルト値があるからといってフォームがスキップされることはありません。

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 サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。