TypeScript

TypeScript类型

2022-12-08  本文已影响0人  我的袜子都是洞

TypeScript类型

基础类型

数组

两种定义数组方法:

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

上一篇 下一篇

猜你喜欢

热点阅读