打字稿与普通类型声明?

时间:2021-03-10 07:02:09

标签: javascript typescript

是否正常声明

let myArrayObject: Array<{id: String, name: String}> = [];

不同于使用 as like

const myArrayObject = [] as Array<{id: String, name: String}> 

我发现 as 更易读。

2 个答案:

答案 0 :(得分:1)

as 关键字在打字稿中用作类型断言

答案 1 :(得分:1)

正常的声明是为对象分配一个类型。 “as”正在将对象强制转换为具有特定类型,无论 TypeScript 自动推断出哪种类型。

例如,让我们看看下面的代码。

interface User {
    name: string;
    age: number;
    occupation: string;
}

const myself = {name:"andy"} as User

对象本身没有“用户”界面所需的所有字段。但是我们可以告诉打字稿将“我自己”视为“用户”。这在许多情况下很有用,例如,如果某个函数需要“User”对象作为输入,但我们希望它接受一个不具有“User”中定义的所有属性的对象。