只是爲了娛樂,我試圖用TypeScript在包含閉包的代碼中強類型。這裏是原來的JavaScript代碼的樣子:在TypeScript中編碼閉包
var func = (function() {
var private_count = 0;
var increment = function() {
private_count += 1;
return private_count;
}
return increment;
}());
下面是與打字稿實現這個我最好的嘗試:
var func:()=>()=>number = (function():()=>number {
var _count: number = 0;
var increment:()=>number = function(): number {
_count += 1;
return _count;
}
return increment;
}());
FUNC是返回,返回一個數的函數的函數。我將它的類型設置爲'()=>()=>數字',但編譯器不喜歡這樣。我知道這不是TypeScript最實際的用法,但是沒有人有解決編譯錯誤的想法嗎?