es6中=>指的是什么

本篇內(nèi)容主要講解“es6中=>指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“es6中=>指的是什么”吧!

創(chuàng)新互聯(lián)2013年至今,先為易縣等服務(wù)建站,易縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為易縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

es6中,“=>”是指箭頭函數(shù),是一種函數(shù)的簡(jiǎn)寫方式,語法為(參數(shù))=>{函數(shù)體};”。箭頭函數(shù)沒原型,沒this、arguments、super和“new.target”綁定,其值由外圍最近一層非箭頭函數(shù)決定;也不能通過new關(guān)鍵字調(diào)用。

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

=>是箭頭函數(shù),是ES6標(biāo)準(zhǔn)中新增的一種新的函數(shù)。顧名思義,箭頭函數(shù)是一種使用箭頭(=>)定義函數(shù)的新語法,箭頭函數(shù)表達(dá)式的語法比函數(shù)表達(dá)式更簡(jiǎn)潔,但是它與傳統(tǒng)的JavaScript函數(shù)有些許不同,主要集中在以下方面:

  • 沒有this、super、arguments和new.target綁定,其值由外圍最近一層非箭頭函數(shù)決定

  • 不能通過new關(guān)鍵字調(diào)用

  • 沒有原型

  • 不可以改變this的綁定

  • 不支持arguments對(duì)象

  • 不支持重復(fù)的命名參數(shù)

  • 函數(shù)體內(nèi)的this的指向始終是指向定義它所在的對(duì)象,而不會(huì)指向調(diào)用它的對(duì)象,我們知道es5中的函數(shù)是誰執(zhí)行它,它就指向誰。

基礎(chǔ)語法

(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
//相當(dāng)于:(param1, param2, …, paramN) =>{ return expression; }
// 當(dāng)只有一個(gè)參數(shù)時(shí),圓括號(hào)是可選的:
(singleParam) => { statements }
singleParam => {statements }
// 沒有參數(shù)的函數(shù)應(yīng)該寫成一對(duì)圓括號(hào):
() => { statements }

簡(jiǎn)單示例

x => x * x

即相當(dāng)于:

function (x) {
 return x * x;
}

更短的函數(shù)示例

        var elements = [
            'Hydrogen',
            'Helium',
            'Lithium',
            'Beryllium'
        ];
        
        elements.map(function(element) { 
            return element.length; 
        }); // 返回?cái)?shù)組:[8, 6, 7, 9]
        
        // 上面的普通函數(shù)可以改寫成如下的箭頭函數(shù)
        elements.map((element) => {
            return element.length;
        }); // [8, 6, 7, 9]
        
        // 當(dāng)箭頭函數(shù)只有一個(gè)參數(shù)時(shí),可以省略參數(shù)的圓括號(hào)
        elements.map(element => {
        return element.length;
        }); // [8, 6, 7, 9]
        
        // 當(dāng)箭頭函數(shù)的函數(shù)體只有一個(gè) `return` 語句時(shí),可以省略 `return` 關(guān)鍵字和方法體的花括號(hào)
        elements.map(element => element.length); // [8, 6, 7, 9]
        
        // 在這個(gè)例子中,因?yàn)槲覀冎恍枰?nbsp;`length` 屬性,所以可以使用參數(shù)解構(gòu)
        // 需要注意的是字符串 `"length"` 是我們想要獲得的屬性的名稱,而 `lengthFooBArX` 則只是個(gè)變量名,
        // 可以替換成任意合法的變量名
        elements.map(({ "length": lengthFooBArX }) => lengthFooBArX); // [8, 6, 7, 9]

三元運(yùn)算符示例

箭頭函數(shù)也可以使用條件(三元)運(yùn)算符:

        var simple = a => a > 15 ? 15 : a;
        simple(16); // 15
        simple(10); // 10

        let max = (a, b) => a > b ? a : b;

不與new一起使用

箭頭函數(shù)不能用作構(gòu)造器,和 new一起用會(huì)拋出錯(cuò)誤。

        var Foo = () => {};
        var foo = new Foo(); // TypeError: Foo is not a constructor

沒有prototype屬性

箭頭函數(shù)沒有prototype屬性。

        var Foo = () => {};
        console.log(Foo.prototype); // undefined

函數(shù)體

箭頭函數(shù)可以有一個(gè)“簡(jiǎn)寫體”或常見的“塊體”。

在一個(gè)簡(jiǎn)寫體中,只需要一個(gè)表達(dá)式,并附加一個(gè)隱式的返回值。在塊體中,必須使用明確的return語句。

        var func = x => x * x;                  
        // 簡(jiǎn)寫函數(shù) 省略return(簡(jiǎn)寫體)

        var func = (x, y) => { return x + y; }; 
        //常規(guī)編寫 明確的返回值(塊體)

箭頭函數(shù)遞歸

        var fact = (x) => ( x==0 ?  1 : x*fact(x-1) );
        fact(5);       // 120

瀏覽器兼容性

es6中=>指的是什么

到此,相信大家對(duì)“es6中=>指的是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:es6中=>指的是什么
新聞來源:http://bm7419.com/article46/jcideg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、網(wǎng)站維護(hù)、虛擬主機(jī)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作