2012-10-06 130 views
4

我在定義接受可選參數的lambda函數時遇到問題。奇怪的部分是,如果我使用完整的「函數」語法匿名函數的作品,但lambda速記/箭頭語法產生錯誤,如下所示:帶可選參數的TypeScript lambda函數

  • 名稱'a'不存在於當前範圍
  • 提供的參數不匹配呼叫目標的任何簽名
  • 預期 ')'

實施例:

(function (a, b?) => { console.log(a, b); })("a"); // OK 
((a, b?) => { console.log(a, b); })("a", "b");  // Errors 
((a, b) => { console.log(a, b); })("a", "b");  // OK 

回答

9

這是編譯器中的錯誤,現在正在修復[v0.8]。 Lambdas當前給出了可選和其餘參數的錯誤消息。如果這是一個阻塞問題,請使用長功能語法。

+0

這是否記錄在項目頁面上?如果是這樣,請提供一個鏈接,我會upvote。 –

+2

該錯誤記錄在http://typescript.codeplex.com/workitem/236 – Hmobius

3

目前在胖箭頭lambda表達式中有可選參數註釋的錯誤。