我刚刚升级到TypeScript beta 0.9,现在我收到了错误:
TS1015:参数不能有问号和初始值设定项
这之前有效,我该如何解决这个问题?
以下是生成此错误的代码示例:
functionName(parameterName?: typeName = defaultValue): typeName
答案 0 :(得分:49)
如果查看TypeScript Language Specification文档,您可以找到有关语言语法的大量详细信息。
第3.9.2节描述了呼叫签名,即用于调用函数和构造函数的语法等。
第3.9.2.2节专门讨论与呼叫相关的参数。
它将可选参数定义为:
AccessibilityModifieropt BindingIdentifierOrPattern? TypeAnnotationopt
AccessibilityModifieropt BindingIdentifierOrPattern TypeAnnotationopt初始化程序
我们可以看到使用'?'看到 OR 提供默认值 Initializer 会将参数标记为可选。
所以要修复编译器错误,你可以简单地删除'?'并保留默认值,它将作为您想要的可选参数保留。