17 | 类型检查机制(3):类型保护

advanced2.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum Type { Strong, Week}

class Java {
helloJava() {
console.log('Hello Java')
}
}

class JavaScript {
helloJavaScript() {
console.log('Hello JavaScript')
}
}

function getLanguage(type: Type) {
let lang = type === Type.Strong ? new Java() : new JavaScript()
if (lang.helloJava){
lang.helloJava()
}
return lang
}

getLanguage(Type.Strong)
要是这篇文章帮到了您,期待您请我喝一杯咖啡。