• 2.9interface接口


    interface Person2 {
      //  readonly name: 'string'; // 只读
      name: string;
      age?: number; // 可在可不在
      [propName: string]: any; // 可有其他字符串类型的 下面的直接传入对象里面的sex就不会报错
      say(): string; // 方法
    }
    interface Teacher2 extends Person2 {
      teach(): string;
    }
    // 接口除了可以定义属性方法之外还可以定义函数,还可以定义别克查阅文档
    interface SayHi2 {
      (word: string): string;
    }
    // 来约束函数
    const say2: SayHi2 = (word: string) => {
      return word;
    };
    const getPersonName = (person: Person2): void => {
      console.log(person.name);
    };
    const setPersonName = (person: Teacher2, name: string): void => {
      person.name = name;
    };
    const person2 = {
      name: "dell",
      sex: "male",
      say() {
        return "say hello";
      },
      teach() {
        return "xdcd";
      },
    };
    getPersonName(person2);
    // 此处直接写对象不可,需要用变量先缓存一下
    // getPersonName({
    //   name: 'dell',
    //   sex: 'male',
    // say() {
    //   return "say hello";
    // },
    // })
    setPersonName(person2, "dell");
    // 类可以应用接口
    class User2 implements Person2 {
      name = "dell";
      say() {
        return "dkcmeoc";
      }
    }
    // 接口并不会变成js代码,只是做语法提示用的
  • 相关阅读:
    字符串算法总结
    [HAOI2007]反素数
    Poj2689 Prime Distance
    [APIO2010]特别行动队
    [国家集训队]middle
    Typecho博客迁移实战
    Typora + 七牛云图床 简易配置
    教你用快捷键 以管理员身份运行cmd
    Typecho博客插入B站视频
    七牛云图床快捷上传方法
  • 原文地址:https://www.cnblogs.com/sinceForever/p/14843141.html
Copyright © 2020-2023  润新知