在TypeScript中更改特定键的值

时间:2017-01-17 19:29:03

标签: javascript angular typescript

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

data = {};

this.data.password = this.password;

我可以做些什么来改变你可能为这个对象添加一个新的键/值?

2 个答案:

答案 0 :(得分:3)

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

this.data["password"] = this.password;

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

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

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

interface MyData {
    password: string;
}

let data:MyData = {};

this.data.password = this.password;

您可以解决的另一种(更快,但更具技术性的债务创造)方式是为数据提供任何的类型。

let data:any = {};

this.data.password = this.password;

正如您已经注意到您也可以给它类型为Object,因为这是一种特殊类型,允许您在其上分配任何属性(有关更多信息,请参阅this TypeScript Basic Types docs page)。

快乐的编码!

答案 1 :(得分:0)

当我将声明更改为

时,这有效
data : Object;

现在我可以做到

this.data.password = this.password;