联合类型(Union Types)可以通过符号“|”将变量设置多种类型,赋值时可以根据设置的类型来赋值;
具体示例:声明一个既是支持string类型又支持number类型的变量val,分别用数字和字符串对变量赋值;
var val:string|number
val = 8
console.log("数字为 "+ val)
val = "typescript"
console.log("字符串为 " + val)
执行结果:
以上代码对val赋值bool型的值(true或false),将会报错;
联合类型作为参数传递
直接看例子,将联合类型:name:string|string[]作为参数,传入函数
function testpro(name:string|string[]) {
if(typeof name == "string") {
console.log(name)
} else {
var i;
for(i = 0;i<name.length;i++) {
console.log(name[i])
}