ts中的接口

// 接口:接口是一种定义行为和规范,在程序设计中接口起到限制和规范的作用。接口定义某一
// 一批类所需要遵循的规范,接口不关系这些类的内部实现,之规定这些类必须提供某些方法
/* 1.对批量方法进行约束 */
interface Fullname {
  firstName: string;
  secondName: string;
}
function printName(name:Fullname) {
  console.log(name.firstName);
  console.log(name.secondName)
}
printName({firstName:'df',secondName:'dff'})
/* 2.函数类型接口,对方法传入以及返回值进行约束 */
interface encrypt {
  (key:string,value:string):string;
}
var stringA:encrypt = function(key:string,value:string):string {
  return key+value;
}
console.log(stringA('fasdf','dd'));
/* 3.可索引接口 */
interface UserArr {
  [index:number]:string //对数组的约束
}
var arr:UserArr = ['dd','dd']
interface UseObj {
  [index:string]:string // 对对象的约束
}
var obj:UseObj = {name:'fasf'}
/* 4.类类型接口 和抽象类有点相似 */
interface Animal {
  name: string;
  eat(str:string):void;
}
class Dog implements Animal {
  name: string;
  constructor(name:string) {
    this.name = name
  }
  eat() {
    console.log(this.name + 'eating');
  }
}
var dog = new Dog('小狗');
dog.eat();
/* 5.接口的扩展 */
interface Animal1 {
  eat():void;
}
interface People extends Animal1 { // 接口继承接口
  work():void;
}
class web implements People {
  constructor() {

  }
  eat() {
    return 'ddd'
  }
  work() {
    return 'fsaf'
  }
}
原文地址:https://www.cnblogs.com/windcat/p/11707999.html