美文网首页
TypeScript接口

TypeScript接口

作者: YC1995 | 来源:发表于2019-11-07 23:15 被阅读0次

    接口定义

    interface Person {
        name: string
        age: number
    }
    function print(p: Person) {
        console.log(p.name);
        console.log(p.age);
    }
    let persion = {age:10, name:"小明"};
    print(person)
    

    类型检查器不会检查属性的顺序,只要相应的属性存在并且类型匹配即可。

    可选属性

    interface SquareConfig {
        color?: string
        width?: number
    }
    

    定义可选属性只需要在属性后面加个?即可。

    只读属性

    一些对象属性只能在对象被创建的时候修改属性的值,可以用readonly指定只读属性。

    interface Point {
        readonly x;
        readonly y;
    }
    

    readonlyconst的区别主要在于一个是针对变量一个是针对对象的属性。

    属性检查

    interface SquareConfig {
        color?: string;
        width?: number;
    }
    function createSquare(config: SquareConfig): { color: string; area: number } {
        // ...
    }
    
    let mySquare = createSquare({ colour: "red", width: 100 });
    

    如果一个对象字面量存在任何“目标类型”不包含的属性时,就会出现报错。有两种方式可以绕开报错。
    类型断言

    let mySquare = createSquare({colour: "red", width: 100} as SquareConfig);
    

    索引签名

    interface SquareConfig {
        color?: string;
        width?: number;
        [propName: string]: any
    }
    

    表示对象可能带有任意数量的其他属性。

    相关文章

      网友评论

          本文标题:TypeScript接口

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