在 TypeScript 的默认参数中包含问号是否有任何价值?

问题描述

这是一个非常简单的问题,所以我会简短一些。这两个代码片段有什么不同吗?

class Test {
  constructor(value?: number = 5) { }
}

class Test {
  constructor(value: number = 5) { }
}

我的假设是没有,因为包含认初始化值隐式地使它也是一个可选参数。如果确实如此,是否最好包含问号?

解决方法

你的第一个片段实际上是一个类型错误。

Parameter cannot have question mark and initializer.(1015)

所以我认为应该解决它。

See playground