ホームページ  >  記事  >  ウェブフロントエンド  >  es6のアロー機能とはどういう意味ですか?

es6のアロー機能とはどういう意味ですか?

WBOY
WBOYオリジナル
2022-03-30 17:15:022118ブラウズ

es6 では、アロー関数は、「=>」を使用して関数を定義する新しい構文です。アロー関数の関数本体内の this ポインタは、常にそれが定義されているオブジェクトを指します。オブジェクトの呼び出しを指していないため、これを変更することはできません。構文は「let fun=(parameter) => {function body};」です。

es6のアロー機能とはどういう意味ですか?

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

es6 のアロー関数の意味

ES6 では、アロー関数が最も興味深い新機能です。名前が示すように、アロー関数は矢印 (=>) を使用して関数を定義する新しい構文ですが、従来の JavaScript 関数とは少し異なり、主に次の点に重点を置いています。 ##いいえ This、super、arguments、new.target はバインドされており、それらの値は周辺にある最も近い非矢印関数によって決定されます。

  • 新しいキーワード

  • プロトタイプなし

  • このバインディングは変更できません

  • arguments オブジェクトは次のとおりです。サポートされていません

  • 重複した名前付きパラメータはサポートされていません

  • ##関数本体内の this のポイントは、常にそれが定義されているオブジェクトを指します。 es5 の関数は誰が実行するのか、誰に向けられるのかはわかっています。

  • は次のとおりです:

var f = v = > v;
//等同于
var f = function(v){
      return v;
}
var sum = (num1,num2) => num1+num2 ;
//等同于
var sum = function(num1,num2){
      return num1+num2
}
[1,2,3].map(function (x) {
      return x * x;
});
// 箭头函数写法
[1,2,3].map(x => x * x);//简洁了许多

この例から、関数が省略され、中括弧「{}」が「=>」に置き換えられていることがわかります。この書き方の方が簡潔です。

例は次のとおりです;

//1、参数默认值 位置在所有形参的后面
    //es6之前的采取的默认值只能变相采取
    function test(a,b) {
        a=a||2;
        b=b||2;
        return a*b
    }
    console.log(test());
//但是这个有弊端  当我们传递的值为0的时候,还是会走默认值。改造之后
    function test1(a,b) {
        a=typeof a==="undefined"?2:a;
        b=typeof b==="undefined"?2:b;
        return a*b
    }
    console.log(test1(0,0))
//    es6为我们提供了默认值
//    语法糖:  function(a,b=2){}
     let test2=(a=2,b=2) =>{
        return a*b
    };
    console.log(test2());

出力結果:

[関連する推奨事項:

JavaScript ビデオ チュートリアル

, es6のアロー機能とはどういう意味ですか?ウェブフロントエンド

]

以上がes6のアロー機能とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。