我在TypeScript中有这段代码:
const arr: ReadonlyArray<string> = [
"123",
"234"
];
arr.push("345");
TS编译器显示错误:
Property 'push' does not exist on type 'ReadonlyArray<string>'
。
当然,很明显我无法更改/更改此阵列。问题是:ReadonlyArray
的基类是什么?它是否继承自标准Array
类?
答案 0 :(得分:5)
https://github.com/Microsoft/TypeScript/blob/master/src/lib/es5.d.ts#L978 说:
TypeScript附带
ReadonlyArray<T>
类型,与...相同 移除了所有变异方法的Array<T>
,因此您可以确保自己 创建后不要更改数组
如果您想要来源,请转到:
(其定义在当前版本的第978行)。