TypeScript的核心原则之一是对值所具有的接口进行类型检查,而接口是实现检查最基础的实现方式
一、对象接口、数组接口、参数接口
接口可以实现对象或者参数接口,来看一个例子:
interface Person{
name: string,
arg: number,
intro?: string,
}
interface PersonArr {
[index: number]: Person,
length: number,
callee: Function
}
let som: Person = {
name: 'som',
arg: 20,
intro: 'this is Teacher'
}
function getPerson (person: Person): void{
if(person.intro){
console.log('姓名:'+ person.name + ',年龄:' + person.arg + ', 简介:'+ person.intro );
}else{
console.log('姓名:'+ person.name + ',年龄:' +person.arg);
}
getPerson(som);
二、函数接口
接口也可以定义函数,看一个例子:
interface PersonFun{
(name: string, arg: number, intro?: string): void
}
let myFun: PersonFun;
myFun = function(name, arg, intro?){
if(intro){
console.log(`姓名:${name},年龄:${arg},简介:${intro}`)
}else{
console.log(`姓名:${name},年龄:${arg}`)
}
}
三、类类型
同样也有类类型的接口
类有静态部分和实例部分这里就不展开说了
interface ClockInterface {
currentTime: Date,
setTime(d: Date);
}
class Clock implements ClockInterface{
currentTime: Date;
constructor(){}
setTime(d: Date){
this.currentTime = d;
}
}