【发布时间】:2022-01-29 01:06:52
【问题描述】:
我刚刚升级到 TypeScript beta 0.9,现在出现错误:
TS1015:参数不能有问号和初始化器
这之前有效,我该如何解决这个问题?
下面是产生此错误的代码示例:
functionName(parameterName?: typeName = defaultValue): typeName
【问题讨论】:
标签: typescript
我刚刚升级到 TypeScript beta 0.9,现在出现错误:
TS1015:参数不能有问号和初始化器
这之前有效,我该如何解决这个问题?
下面是产生此错误的代码示例:
functionName(parameterName?: typeName = defaultValue): typeName
【问题讨论】:
标签: typescript
如果您查看 TypeScript Language Specification 文档,您可以找到有关语言语法的大量详细信息。
3.9.2 部分描述了调用签名,即用于调用函数和构造函数等的语法。
3.9.2.2 部分专门介绍与调用相关的参数。
它将可选参数定义为:
AccessibilityModifieropt BindingIdentifierOrPattern ? TypeAnnotationopt
AccessibilityModifieropt BindingIdentifierOrPattern TypeAnnotationopt Initializer
我们可以看到使用“?” OR 提供默认值 Initializer 会将参数标记为可选。
因此,要修复编译器错误,您只需删除“?”并保留默认值,它将保留为您想要的可选参数。
【讨论】: