请问然后让函数的参数显示一些默认的可选值,也可以自定义值。https://element.eleme.cn/#/zh... 类似这种感觉
目前我这么写会提示错误。
type a = "a"|"b"
function foo(m:a){
return
}
foo("a")
foo("c")//Argument of type '"c"' is not assignable to parameter of type 'a'.ts(2345)
这么写又会失去提示。
type a = "a"|"b" | string
function foo(m:a){
return
}
foo("a")
foo("c")
你的第一种写法,用type定义了
a
的类型为'a'| 'b'
参数m做了类型判断,m必须是
'a'
或'b'
中的一种,故传值'c'
报错第二种写法,用type定义了
a
的类型为'a'| 'b' | string
其中string代表字符串类型,字符串包括了前面的
'a'
和'b'
,所以即使你把a和b都删掉也不会报类型检查的错误在类型为string的情况下你传入任何字符串的值都不会使代码报错,例如
'sdasdasdsadasdas'
但如果传入number类型比如
321
就会报错(解决报错的方法是添加number类型type a = string | number
)