在const对象上调用方法

时间:2017-08-31 13:58:27

标签: angular typescript

我有一段像这样编写的代码:

  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是否也是如此。

3 个答案:

答案 0 :(得分:0)

const声明仅阻止重新分配变量。它仍然允许对象及其属性进行变异。所以是的,你会没事的。

答案 1 :(得分:0)

Const并不意味着你的对象是不可变的,只是它不能被重新分配。

没关系:

const headers = {};
headers.myProp = 'test';

这不是:

const headers = {};
headers = 'test';

答案 2 :(得分:0)

没关系。在typecript const varName = new Object();中意味着你不能将新值重新分配给该变量(varName = otherVarName),但是对象本身可以变异