TypeScript接口

接口(Interface) [只限TypeScript,编译以后在Javascript中看不到]

接口的作用类似于抽象类,定义了一个规范。

不同点

  1. 抽象类可以有抽象方法,也可以有普通方法。接口中的所有方法和属性都是没有实值的,换句话说接口中的所有方法都是抽象方法。
  2. 抽象类用的继承,接口用的实现
  • 接口主要作用定义一个类的结构,用来定义一个类中应该包含哪些属性和方法,同时接口也可以当成类型声明去使用
  • 定义类时,可以使一个类去实现接口
    • 实现接口就是使类满足接口的要求
    • 实现接口时类中要保护接口中的所有属性;

示例(实现):

interface Person{
   name: string;
   sayHello():void;
}

class Student implements Person{
   constructor(public name: string) {
   }

   sayHello() {
       console.log('大家好,我是'+this.name);
   }
}
  • 接口(Interface)可以重复声明,type不可以(重复声明会报错)
  • 接口可以去限制一个对象的结构:对象只有包含接口中定义的所有属性和方法时才能匹配接口;
//接口可以重复声明
interface myInterface {
   name: string
   age: number
}
interface myInterface {
  gender: string
}
//实际含义是 创建了一个myInterface接口 里面有三个属性 
//使用时,必须写齐属性
const obj: myInterface = {
   name: '111'
   age: 18
   gender: '男'
}

声明:本文内容引自bilibili “尚硅谷TypeScript教程”
个人学习归纳总结 ,欢迎畅谈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。