TypeScript中带默认值的可选联合类型函数参数写法咨询
正确编写符合要求的TypeScript函数
需求说明
需要实现函数 myFunction(group_expr),满足以下要求:
- 参数类型为
string或boolean - 参数为可选
- 默认值为
true
你的尝试写法(存在语法错误)
function myFunction(group_expr?: string | bool = true)
正确实现方式
推荐写法
function myFunction(group_expr: string | boolean = true) { // 函数逻辑 }
写法解释
- 可选参数与默认值的关系:在TypeScript中,带有默认值的参数会自动被识别为可选参数,无需额外添加
?标记,添加?反而会引发语法错误。 - 类型修正:TypeScript中的布尔类型是
boolean,而非bool,这是语言的标准类型名称。 - 类型兼容性:默认值
true属于boolean类型,完全符合string | boolean的联合类型约束。
备选写法(显式处理可选参数)
如果需要显式标记参数为可选,也可以通过函数内部赋值默认值实现,但这种写法不如推荐方式简洁:
function myFunction(group_expr?: string | boolean) { group_expr = group_expr ?? true; }
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

