2013-07-04 82 views
2

我看打字稿教程,並在一個點上我必須寫這行代碼打字稿拉姆達錯誤

var squareItSimpler = function(h:number, w:number) => h * w; 

但我只是無法得到它的工作。我不斷收到錯誤

The command "C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.exe" --module AMD --target ES3....exited with code 1 

而我只是不知道該怎麼做,我在這裏做錯了什麼?

有趣這是休耕工作:

var squareItSimplest = (h:number, w:number) => h * w; 

我使用打字稿0.9.0.1

回答

4

當你一樣,在打字稿lambda表達式,你離開關閉function關鍵字。也許你的教程有一個錯誤。

編輯 —從the spec

打字稿 支持 箭頭函數表達式,一個 新功能 計劃 爲ECMAScript的6箭 函數表達式函數表達式的緊湊形式省略 功能 關鍵字和 有 這個詞彙範圍。

+0

我真的不知道我總是看到這個傢伙編譯它的工作原理(這是一個視頻教程)。我知道它可能有點老,但是代碼有效嗎?也許在以前版本的打字機?如果是的話,他們爲什麼要刪除它? – trebor

+0

@toby我不是Typescript專家,所以我可能會錯,但是我看到的每個lambda示例都缺少'function'關鍵字。你可能是正確的,這是最近的一次變化。 – Pointy

+0

@toby一個鏈接到我的想法是更新當前的語言規範 – Pointy

1

或者:

var squareItSimpler = (h:number, w:number) => h * w;

var squareItSimpler = function(h:number, w:number) { return h * w; };