亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6箭頭函數有哪些優點

發布時間:2022-03-08 19:21:37 來源:億速云 閱讀:257 作者:iii 欄目:web開發

本篇內容介紹了“es6箭頭函數有哪些優點”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

es6箭頭函數的優點:1、簡明的語法,例“parameters => {statements;};”,應用起來更加的方便;2、能夠隱式返回;3、更直觀的作用域和this的綁定(不綁定this)。

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

我們都知道,在 JavaScript 里定義函數有多種方式。最常見的是用function關鍵字:

// 函數聲明
function sayHi(someone) {
  return `Hello, ${someone}!`;
}
// 函數表達式
const sayHi = function(someone) {
  return `Hello, ${someone}`;
}

上面的函數聲明和函數表達式,我們姑且稱之為常規函數。

還有就是 ES6 新增的箭頭函數語法:

const sayHi = (someone) => {
  return `Hello, ${someone}!`;
}

相對于原先JS中的函數,ES6增長的箭頭函數更加簡潔,應用起來也更加的方便。

es6箭頭函數的優點:

1、簡明的語法

一個數組,把它變為原來的二倍之后輸出。

刪掉一個關鍵字,加上一個胖箭頭;
沒有參數加括號,一個參數可選擇;
多個參數逗號分隔,

const numbers = [5,6,13,0,1,18,23];
//原函數
const double = numbers.map(function (number) {
    return number * 2;
})
console.log(double);
//輸出結果
//[ 10, 12, 26, 0, 2, 36, 46 ]
//箭頭函數     去掉function, 添加胖箭頭
const double2 = numbers.map((number) => {
    return number * 2;
})
console.log(double2);
//輸出結果
//[ 10, 12, 26, 0, 2, 36, 46 ]
//若只有一個參數,小括號能夠不寫(選擇)
const double3 = numbers.map(number => {
    return number * 2;
})
console.log(double3);
//如有多個參數,則括號必須寫;若沒有參數,()須要保留
const double4 = numbers.map((number,index) => {
    return `${index}:${number * 2}`;  //模板字符串
})
console.log(double4);

2、能夠隱式返回

顯示返回就是svg

const double3 = numbers.map(number => {
    return number * 2;  
    //return 返回內容;
})

箭頭函數的隱式返回就是函數

當你想簡單返回一些東西的時候,以下:去掉return和大括號,把返回內容移到一行,較為簡潔;
const double3 = numbers.map(number => number * 2);

補充:箭頭函數是匿名函數,若需調用,須賦值給一個變量,如上 double3。匿名函數在遞歸、解除函數綁定的時候頗有用。

3、更直觀的作用域和this的綁定(不綁定this

一個對象,咱們原先在函數中是這么寫的this

一個對象,咱們原先在函數中是這么寫的

const Jelly = {
    name:'Jelly',
    hobbies:['Coding','Sleeping','Reading'],
    printHobbies:function () {
        this.hobbies.map(function (hobby) {
            console.log(`${this.name} loves ${hobby}`);
        })
    }
}
Jelly.printHobbies();
// undefined loves Coding
// undefined loves Sleeping
// undefined loves Reading

這說明 this.hobbies 的指向是正確的,this.name 的指向是不正確的;

當一個獨立函數執行時,this 是指向window的

若是要正確指向,原先咱們的作法會是 設置變量替換spa

//中心代碼
printHobbies:function () {
    var self = this; // 設置變量替換
    this.hobbies.map(function (hobby) {
        console.log(`${self.name} loves ${hobby}`);
    })
}
Jelly.printHobbies();
// Jelly loves Coding
// Jelly loves Sleeping
// Jelly loves Reading
在ES6箭頭函數中,咱們這樣寫code
//中心代碼
printHobbies:function () {
   this.hobbies.map((hobby)=>{
       console.log(`${this.name} loves ${hobby}`);
   })
}
// Jelly loves Coding
// Jelly loves Sleeping
// Jelly loves Reading

這是由于箭頭函數中訪問的this其實是繼承自其父級做用域中的this,箭頭函數自己的this是不存在的,這樣就至關于箭頭函數的this是在聲明的時候就肯定了(詞法做用域),this的指向并不會隨方法的調用而改變。

“es6箭頭函數有哪些優點”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

es6
AI

铜鼓县| 万山特区| 玉龙| 青田县| 绥芬河市| 霍林郭勒市| 抚远县| 容城县| 华池县| 德庆县| 右玉县| 昭平县| 玛纳斯县| 望江县| 阳东县| 海城市| 张家口市| 渝北区| 湟中县| 洪泽县| 项城市| 汉川市| 邓州市| 义乌市| 四子王旗| 西吉县| 遂溪县| 灵璧县| 祥云县| 来宾市| 专栏| 福泉市| 霞浦县| 吴忠市| 湛江市| 和田市| 乐安县| 仁寿县| 邵武市| 宣恩县| 通江县|