更改 TypeScript 中特定键的值

Edu*_*oso 1 javascript typescript angular

我需要更改对象的值。在javascript中我会做类似的事情

data = {};

this.data.password = this.password;
Run Code Online (Sandbox Code Playgroud)

我可以做什么来更改或添加新的键/值到该对象?

Jim*_*Jim 8

您还可以使用括号语法来指定对象的键,如下所示:

this.data["password"] = this.password;
Run Code Online (Sandbox Code Playgroud)

这非常有用,特别是当您需要将对象的键设置为其他变量的值时。

由于我们正在处理 TypeScript,“正确”的方法可能是指定this.data的类型。

例如,您可以设置一个接口,然后让 IDE/编译器知道 this.data 有一个密码属性:

interface MyData {
    password: string;
}

let data:MyData = {};

this.data.password = this.password;
Run Code Online (Sandbox Code Playgroud)

解决这个问题的另一种(更快,但技术性债务更多一些)方法是只为数据提供any类型。

let data:any = {};

this.data.password = this.password;
Run Code Online (Sandbox Code Playgroud)

正如您所注意到的,您还可以为其指定类型 Object,因为这是一种特殊类型,允许您为其分配任何属性(有关更多信息,请参阅此 TypeScript 基本类型文档页面)。

快乐编码!