2014-04-30 82 views
2

由於某種原因,幾乎不可能搜索'=>' 任何人都可以解釋它的含義和使用時間? 謝謝!確切地說=>是什麼意思?

+1

這是一個箭頭函數,如4.9.2中的TypeScript語言規範所述:http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf#page63 – WiredPrairie

+0

此視頻解釋了爲什麼你需要它:https://www.youtube.com/watch?v=tvocUcbCupA&hd=1 – basarat

回答

4

這是一個lambda函數,在TypeScript中用於維護範圍。在JavaScript中,this並不總是指您定義的範圍,但取決於調用方法的方式。例如,​​可能會覆蓋this所指的內容。

爲了解決這個問題,一個簡單的訣竅就是將範圍複製到一個變量中(比如說self),並在需要訪問範圍的任何地方使用該變量。

TypeScript中的lambada函數爲您執行此操作,您不再需要自己執行作用域複製。

實施例:

class Example { 
    aMethod =() => { 
    // in here 'this' will always refer to the class scope 
    } 
} 

Demo on Playground

+2

+1。另外...當您在文檔中搜索時,通常在TypeScript中將其稱爲「箭頭函數」。即使您不關心範圍,它也可以用作定義函數的更簡潔的語法。 – Fenton

+1

好言論史蒂夫,謝謝! – thomaux