ReadonlyArray继承了什么类?

时间:2017-11-25 19:46:24

标签: typescript

我在TypeScript中有这段代码:

const arr: ReadonlyArray<string> = [
    "123",
    "234"
];

arr.push("345");

TS编译器显示错误:

  

Property 'push' does not exist on type 'ReadonlyArray<string>'

当然,很明显我无法更改/更改此阵列。问题是:ReadonlyArray的基类是什么?它是否继承自标准Array类?

1 个答案:

答案 0 :(得分:5)

https://github.com/Microsoft/TypeScript/blob/master/src/lib/es5.d.ts#L978 说:

  

TypeScript附带ReadonlyArray<T>类型,与...相同   移除了所有变异方法的Array<T>,因此您可以确保自己   创建后不要更改数组

如果您想要来源,请转到:

this

(其定义在当前版本的第978行)。