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;

我正在使用 TypeScript 0.9.0.1

4

2 回答 2

4

当你在 Typescript 中做这样的 lambdas 时,你会省略function关键字。也许您的教程有错误。

编辑——来自规范

TypeScript 支持箭头函数表达式,这是 ECMAScript 6 中计划的一项新功能。箭头函数表达式是函数表达式的一种紧凑形式,它省略了 function 关键字并对其具有词法范围。

于 2013-07-04T23:23:25.097 回答
1

任何一个:

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

或者

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

于 2013-07-07T10:57:37.120 回答