纯属个人学习,加深记忆使用。
接口定义使用关键词 interface
属性接口
对json的约束
interface FullName { //传入对象的约束 属性接口
firstName: string; //注意 ‘;’结束
secondName: string;
}
function printName(name:FullName) {
//要求必须传入对象 firstName secondName
console.log(name.firstName +"--"+name.secondName);
}
var obj = { //传入的参数必须包含firstName 和 secondName
age:20,
firstName:'张',
secondName:'三'
}
printName(obj); //正确
//printName({firstName:'李',secondName:'四',age:20}) //错误 如果这样传入参数,只能包含接口约束的值
printName({firstName:'李',secondName:'四'})//正确
接口可选属性
接口内的属性定义时加 ‘?’
interface FullName {
firstName: string;
secondName?: string;
}
function getName(name:FullName){
console.log(name);
}
getName({
firstName:'firstName'
})
函数类型接口
对方法传入的参数 以及返回值进行约束
加密的函数类型接口
interface encrypt{ //加密函数类型接口
(key:string,value:string):string;
}
var md5:encrypt = function(key:string,value:string):string{
return key+value;
}
console.log(md5('name','zhangsan'));