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(){

}
}
posted @ 2018-12-07 11:01  江苏丶刘德华  阅读(147)  评论(0编辑  收藏  举报