TS2364:赋值表达式的左侧无效

时间:2016-07-21 06:32:36

标签: typescript ecmascript-6

a是一个可变数组,为什么我不能分配给它?

foo.ts

export let a: any[];

bar.ts

import {a} from './foo';

a = [5,6,7];

2 个答案:

答案 0 :(得分:4)

a包含一个可变数组,因此你可以改变它:

a.splice(0, a.length, 5, 6, 7);
console.log(a);
a中的

bar是导入的绑定,但无法重新分配。这就是为什么这是一个语法错误。

但是,您可以在a中分配foo,但它只是表现得像普通变量。

答案 1 :(得分:3)

如果您希望能够在原始范围(foo.ts)内更改数组的值,那么您可以执行以下操作:

export var a = {
    arr: []
}

然后在bar.ts

import {a} from './foo';

a.arr = [5,6,7];