TypeScript基础---接口
//接口 关键词:interface
//以前对函数参数的约束写法
function label(labelInfo:{name:string}){
}
label({name:'zhangsan'}) //传入参数必须是对象,key必须是name,value是string
//接口是对批量方法传入参数进行约束
//例
interface FullName{
//以;结尾
firstName:string;
secondName:string
}
function printName(name:FullName){
//传入参数,firstName,secondName
}
//参数的顺序可不一样
printName({firstName:'123',secondName:'23'})
//接口:可选属性
interface FullName1{
firstName:string;
//可选属性
secondName?:string;
}
//函数类型的接口,对方法传入的参数及返回值进行约束
//例
interface encrypt{
(key:string,value:string):string;
}
var md5:encrypt=function(key:string,value:string):string{
return ''
}
//可索引接口:数组/对象的约束(不常用)
// 以前写法
var arr:number[]=[1,2]
var arr0:Array<string>=['']
// 接口:对数组的约束例 (不常用)
// 数组中每个值都是value
interface aArr{
[index:number]:string
}
var arr11:aArr=['','']
//对对象的约束(不常用)
interface Obj{
[index:string]:string
}
var obj1:Obj={
'1':'1'
}
//对类的约束 (常用)
// 例
interface Am{
name:string;
eat(str:string):void;
}
class Bird implements Am{
//Bird类中必须有name属性和eat()方法
name:string;
constructor(name:string){
this.name=name
}
eat(){
}
}
希望能遇到好人!