TypeScript类型

作者: 我的袜子都是洞 | 来源:发表于2022-12-08 20:26 被阅读0次

    TypeScript类型

    基础类型

    • string
    • number
    • boolean

    数组

    两种定义数组方法:

    type[]
    Array<type> // 泛型写法
    

    对象类型

    带有任何属性的JavaScript的值都可以看作为对象。

    function printCoord(pt: { x: number; y:number }) {
        console.log("坐标X的值为:" + pt.x);
        console.log("坐标Y的值为:" + pt.y);
    }
    

    联合类型

    两个或两个其他类型组成的类型

    let id: number | string
    

    类型别名

    方便重复使用联合类型。单独定义一个类型,重复使用。

    type Point = {
        x: number;
        y: number;
    }
    
    type ID = number | string
    
    type UserInputSanitizedString = string
    

    接口

    interface Point {
        x: number;
        y: number;
    }
    function printCoord(pt: Point) {
        console.log("坐标X的值为:" + pt.x);
        console.log("坐标Y的值为:" + pt.y);
    }
    

    类型别名和接口

    几乎所有可以使用interface接口定义的都可以使用type类型别名来定义。

    区别一:扩展方式

    扩展接口,使用extends关键字:

    interface Animal {
        name: string
    }
    
    interface Bear extends Animal {
        honey: boolean
    }
    
    const bear: Bear = {
        name: 'winie',
        honey: true
    }
    

    扩展类型别名,使用&符号:

    type Animal = {
        name: string
    }
    type Bear = Animal & {
        honey: boolean
    } 
    

    区别二:添加字段方式

    接口添加字段,同时定义两个同名的即可:

    interface MyWindow {
        count: number
    }
    interface MyWindow {
        title: string
    }
    

    type方式,类型创建之后就不能更改了。

    相关文章

      网友评论

        本文标题:TypeScript类型

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