美文网首页
interface接口

interface接口

作者: 恍若如梦hzpeng | 来源:发表于2020-05-27 09:01 被阅读0次
    1、 interfacetype类似,区别:interface定义对象形式,不可以定义变量形式,type可以,能用interface尽量用interface
    2、 interface定义
    interface Person {
        // readonly name: string;   // 只读
        name: string;
        age?: number;               // 可以为空
        [propName: string]: any;    // 其他属性
        say(): string;              // 函数 返回string
    }
    
    3、 interface可以继承别的interface,继承接口拥有被继承接口的全部属性
    interface Teacher extends Person {
        teach(): string;
    }
    
    4、 interface可以直接定义方法
    interface SayHi {
        (word: string): string;   // 接受word(string类型)参数,返回string
    }
    
    // 使用
    const say: SayHi = (word: string) => {
      return word;
    };
    
    5、 类class可以直接应用接口
    class User implements Person {
        name = 'dell';
        say() {
            return 'hello';
        }
    }
    
    6、传参
    interface Person {
        name: string;
    }
    
    const outPutPerson = (person: Person) => {
      return person.name;
    };
    
    // 这样传参会报错,interface里面没有age属性
    outPutPerson({
        name: 'Tom',
        age: 30
    });
    
    const teacher = {
        name: 'Tom',
        age: 30
    }
    
    outPutPerson(teacher); // 这样是正确的 
    

    相关文章

      网友评论

          本文标题:interface接口

          本文链接:https://www.haomeiwen.com/subject/gtdmahtx.html