我有一段像这样编写的代码:
private get headers(): Headers {
const headers = new Headers();
headers.set('Authorization', `Bearer ${this.auth.tokenSnapshot}`);
return headers;
}
headers
被声明为const
。 (这是Angular 4代码,因此Headers
来自here)。
在TypeScript中,可以在声明为const
的实例变量上调用变异方法吗?
在C ++中,除非Set
方法本身声明为const
,否则这是不可能的,但我不知道TypeScript是否也是如此。
答案 0 :(得分:0)
const
声明仅阻止重新分配变量。它仍然允许对象及其属性进行变异。所以是的,你会没事的。
答案 1 :(得分:0)
Const并不意味着你的对象是不可变的,只是它不能被重新分配。
没关系:
const headers = {};
headers.myProp = 'test';
这不是:
const headers = {};
headers = 'test';
答案 2 :(得分:0)
没关系。在typecript const varName = new Object();
中意味着你不能将新值重新分配给该变量(varName = otherVarName
),但是对象本身可以变异