TypeScript筆記:箭頭函數“=>"

TypeScript中有一種用法,成爲箭頭函數(Arrow Function),寫作 ”=>"。

作用:通過 => 箭頭定義匿名函數
注意:箭頭函數不能用作構造函數(所以必然沒有Prototype屬性)或者Generator函數

1. 最小化例子:

let func1 = para => para;
console.log(func1(100));

//輸出 100

這裏定義了一個“直腸子”函數,進什麼出什麼... 

箭頭左邊是入口參數,箭頭右邊是具體函數體,最小化時候省略了return。

2. 兩個以上入口參數,就需要加小括號了。同理,如果沒有入口參數,小括號不能省!

let func2 = (x, y) => x + y;
console.log(func2(100, 200));
// 輸出: 300

3. 如果大括號套着函數體,那麼返回值需要用return

let func3 = (x, y) => {return x * y; }
console.log(func3(10, 20));
// 輸出 200
 
// let func3 = (x, y) => { x * y; }
// console.log(func3(10, 20));  // 這樣會返回 undefine 的

4. 如果函數體裏面帶賦值的,需要套大括號

let func4 = () => ({varName:"貓哥你好!"})
console.log(func4().varName);
// 輸出 貓哥你好!

5. 箭頭函數可以處理解構賦值

let func5 = ([varName,age=25]) => [varName,age];
console.log(func5(["貓哥",26]));
// 輸出 [ '貓哥', 26 ]

6. 箭頭函數本身沒有this,但是在聲明的時候,能夠捕獲此函數所在作用域中this,捕獲成功後,this指向的對象始終保持不變

let url = "csdn";
function myfunc0(){
    this.url = "blog.csdn.com";
    let func6=() => {
        console.log(this.url);
    }
    func6();
}
myfunc0();
//輸出 blog.csdn.com

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章