TypeScript中如何简化参数可选且可设为undefined的写法
TypeScript 函数参数简化写法问题
你当前有以下可行的函数声明,但希望找到更简洁的写法:
function getData( slug: string | undefined = undefined ) { // 函数逻辑 }
你尝试用string?的写法却触发了语法错误:
function getData( slug: string? = undefined ) { // 函数逻辑 }
问题原因与简洁写法
TypeScript 中,参数后缀的?已经代表该参数是可选参数,默认值自动为undefined,此时不能再显式指定= undefined,这会造成语法冲突。
更简洁的等效写法直接使用可选参数语法即可:
function getData( slug?: string ) { // 函数逻辑 }
这个写法和你原本的代码功能完全一致:slug可以传入string类型值、undefined,或者直接省略该参数。
内容的提问来源于stack exchange,提问作者Pete
相关产品推荐
相关产品推荐

