1.初识接口
// 接口的使用
interface RichMan {
money: number,
age: number,
name: string
}
let person1: RichMan;
person1 = { money: 10000000, age: 20, name: "lili" };
console.log(person1);//{ money: 10000000, age: 20, name: 'lili' }
2.接口的可选属性
interface Person {
name: string,
age: number,
money?: number //可选属性
}
let p: Person;
p = { name: "葵葵", age: 30 }
console.log(p);//{ name: '葵葵', age: 30 }
p = { name: "葵葵", age: 30, money: 10000000 }
console.log(p);//{ name: '葵葵', age: 30, money: 10000000 }
p.money = 5000000;//可以修改
console.log(p);//{ name: '葵葵', age: 30, money: 5000000 }
3.只读属性 readonly
interface Person2 {
readonly firstname: string,// readonly修饰的不能修改
age: number,
money?: number
}
let p2: Person2;
p2 = { firstname: "李", age: 30, money: 10000000 }
p2.firstname = "黎" //报错,不能修改
4.只读可选
interface Person3 {
readonly firstname: string,
age: number,
money?: number,
readonly life?: number// 只读可选
}
let p3: Person3;
p3 = { firstname: "李", age: 30, money: 10000000, life: 100 }
p3.life=200;//报错,不能修改
4.interface使用any来实现object
interface Myobject {
[pro: string]: any //成员名字是string型,值随便写
}
let mm: Myobject;
mm = { one: 1, two: 2, three: 3, life: "生命" }
console.log(mm);//{ one: 1, two: 2, three: 3, life: "生命" }