Typescript Interfaces(接口)添加任意key值/内容

什么是Interfaces 接口类 (抽象方法集合)

https://www.runoob.com/typescript/ts-interface.html

“接口” Interfaces  是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。

ts 中的 Interfaces(接口)是一个非常灵活的概念,除了可用于对类的部分行为进行抽象,也可以对 对象的形状(shape) 进行描述

简单的理解 就可以理解为一种定制化的 数据结构 规则标准

简单例子:

interface Test{
  name: string;
  age: number;
  //可有可无
  sex?:boolean,
  hobby:()=>string,
  
}

//属性数量是Test 中定义好的
let demo: Test= {
  name: '张三',
  age: 18,
  //hobby:():string=>{ return '写代码'},
  sayHi(){
        return '写代码'
  },
};
 

添加任意新属性

如果在使用中,Interfaces中 还存在一些任意添加的新属性

interface Test{
  name: string;
  age: number;
  //可有可无
  sex?:boolean,
  hobby:()=>string,
  //自定义key 任意值
  [propname:string]:any,
  
}

//属性数量是Test 中定义好的
let demo: Test= {
  name: '张三',
  age: 18,
  hobby:():string=>{ return '写代码'},
  //任意新value
  demo1:'233',
  demo2:0,
  demo3:true,
  ...
};

原文地址:https://www.cnblogs.com/tianmiaogongzuoshi/p/14732461.html