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 Jun 29, 2020 function generate(item: A | B): string {
if ('gender' in item) { return 'B'; } return 'A'; } |
2
mxT52CRuqR6o5 Jun 29, 2020 via Android
js 怎么做 ts 就怎么做,就像 1 楼那样就行
|
3
MikeFeng Jun 29, 2020
自己搜一下——typescript 类型保护
|
4
Yumwey Jun 30, 2020 via Android
要不,咱用下泛型
|