1.
接口中我们可以将数组的索引值和元素设置为不同类型,索引值可以是数字或字符串。
interface namelist { [index:string]:string } var list2:namelist = {"a":"John","b":'1',"c":"Bran"}// 错误元素 1 不是 string 类型 interface ages { [index:string]:number } var agelist:ages = {"a":1,"b":2,"c":3}; // // agelist["2"] = 12 // 错误 // agelist["John"] = 15 // 报错
2.
//实现接口,属性可以不实现,不会报错。方法必须实现,否则报错。
interface ILoan { interest:number func:()=>void; } class AgriLoan implements ILoan { interest:number rebate:number func(){ } constructor(interest:number,rebate:number) { // this.interest = interest this.rebate = rebate } } var obj = new AgriLoan(10,1) console.log("利润为 : "+obj.interest+",抽成为 : "+obj.rebate ) //实现接口,属性可以不实现,不会报错。方法必须实现,否则报错。
利润为 : undefined,抽成为 : 1