如何修复错误TS1015:参数不能有问号和初始化程序?

时间:2013-06-19 08:36:19

标签: typescript

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

  

TS1015:参数不能有问号和初始值设定项

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

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

functionName(parameterName?: typeName = defaultValue): typeName

1 个答案:

答案 0 :(得分:49)

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

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

3.9.2.2节专门讨论与呼叫相关的参数。

它将可选参数定义为:

  

AccessibilityModifieropt BindingIdentifierOrPattern? TypeAnnotationopt

     

AccessibilityModifieropt BindingIdentifierOrPattern TypeAnnotationopt初始化程序

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

所以要修复编译器错误,你可以简单地删除'?'并保留默认值,它将作为您想要的可选参数保留。