您好,登錄后才能下訂單哦!
這篇文章主要介紹“es6箭頭函數的概念是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“es6箭頭函數的概念是什么”文章能幫助大家解決問題。
在es6中,箭頭函數是一種使用“=>”定義函數的新語法;箭頭函數的函數體內的this指向始終是指向定義它所在的對象,而不會指向調用它的對象,并且不可以改變this的改變,語法為“let fun=(參數) => {函數體};”。
本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
在ES6中,箭頭函數是其中最有趣的新增特性。顧名思義,箭頭函數是一種使用箭頭(=>)定義函數的新語法,但是它與傳統的JavaScript函數有些許不同,主要集中在以下方面:
沒有this、super、arguments和new.target綁定,其值由外圍最近一層非箭頭函數決定
不能通過new關鍵字調用
沒有原型
不可以改變this的綁定
不支持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);//簡潔了許多
從例子我們可以看出,省略了function,花括號‘{}’用‘=>’代替了。這種寫法更簡潔了。
示例如下;
//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());
輸出結果:
關于“es6箭頭函數的概念是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。