interface A {
name: string,
displayname: string,
age: number
}
interface B{
name: string,
displayname: string,
age: number,
gender: number
}
function generate(item: A | B): string {
// 这里需求是,判断一下,传入的参数 item 是 A 还是 B,根据不同的类型,做不同的事情
}
请不要诟病这个函数的 design,现在没有办法 refactor 函数
谢谢!
1
unhappy224 2020-06-29 18:30:24 +08:00 1
function generate(item: A | B): string {
if ('gender' in item) { return 'B'; } return 'A'; } |
2
mxT52CRuqR6o5 2020-06-29 21:14:19 +08:00 via Android
js 怎么做 ts 就怎么做,就像 1 楼那样就行
|
3
MikeFeng 2020-06-29 22:21:16 +08:00
自己搜一下——typescript 类型保护
|
4
Yumwey 2020-06-30 12:58:00 +08:00 via Android
要不,咱用下泛型
|