40

我刚刚升级到 TypeScript beta 0.9,现在出现错误:

TS1015:参数不能有问号和初始化器

这之前有效,我该如何解决?

这是生成此错误的代码示例:

functionName(parameterName?: typeName = defaultValue): typeName
4

1 回答 1

85

如果您查看TypeScript 语言规范文档,您可以找到有关语言语法的大量详细信息。

3.9.2节描述了调用签名,即用于调用函数和构造函数等的语法。

3.9.2.2节专门介绍与调用相关的参数。

它将可选参数定义为:

AccessibilityModifieropt BindingIdentifierOrPattern ? TypeAnnotationopt

AccessibilityModifieropt BindingIdentifierOrPattern TypeAnnotationopt Initializer

我们可以看到要么使用'?提供默认值Initializer会将参数标记为可选。

因此,要修复编译器错误,您只需删除“?” 并保留默认值,它将按照您的意愿保留为可选参数。

于 2013-06-19T08:36:19.173 回答