TypeScript类型

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方式,类型创建之后就不能更改了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容