• typescript中的接口(interface)


    在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implements)。

    TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。
    一个简单的例子:

    //定义接口
    interface Person{
        name: string,
        age: number,  // 必选属性
        job?: string, //可选属性,表示不是必须的参数,
        readonly salary: id,  //表示是只读的属性,但是在初始化之后不能重新赋值,否则会报错
        [ propName : string ] : any,  // 任意类型
    
    }
    //定义一个变量,它的类型时接口Person,这样就约束了接口的内容
    let person: Person = {
        name: 'jack',
        age: 28,
        job: 'IT dog',
        id: 9872,
        salary: 9999,
    }
    
    function printMan(person) {
        console.log( `我是 ${person.name}, 我今年 ${person.age},我的工作是${person.job}`);
    }
    

    上面例子中的就是一个接口的实例,利用接口约束了传入变量的内容,注意,在赋值时:变量的形状必须和接口的形状保持一致。
    接口类型有以下几种属性可选

    1. 必选属性 => “:” 带冒号的属性是必须存在的,不可以多也不能少
    2. 可选属性 => " ? " 表示有选择的选项,可有可无
    3. 只读属性 => " readonly " 对象的字段只在创建的时候赋值,注意哦,注意,只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候:
    4. 任意属性 [ propName : 类型 ] : any 表示定义了任意属性取string 类型的值
      需要注意的是,一旦定义了任意类型,那么确定属性和可选属性都必须是它的子属性
  • 相关阅读:
    C++类中的封装-9
    递归神经网络
    卷积神经网络
    Tensorflow人工智能神经网络学习
    右键弹出菜单 并动态新增菜单子项
    sql 列转行
    sql 删除表中某字段的重复数据
    疑难问题解决
    jquery ashx交互 返回list 循环json输入信息
    jquery 控件赋值
  • 原文地址:https://www.cnblogs.com/Mine-/p/14098598.html
Copyright © 2020-2023  润新知