TypeScript-联合类型-接口

88 阅读1分钟

1、联合类型

var muchtype:string|number = "hello"  // 表示可以是字符串也可以是数字
muchtype = 789

2、接口

interface Istate {
    name: string,
    age?: number, // 加上问号,代表可以不一定有
    [proName: string]: any // 表示可以无限加上上对象
}
var obj: Istate;
obj = {
    name: '张三', // name要和接口里面一样,不然报错
    age:123, // 上面加了问号代表可有可无
    // 以下可以加也可以不加
    a: 123,
    b: 456
}

// 只读
interface Istate2 {
    name: string,
    readonly age: number // 只读,不可以更改
}
var obj2: Istate2 = {
    name: '张三',
    age: 123
}
obj2.name = '李四'
obj2.age = 18 // 报错,因为加上了只读属性 readonly