TypeScript返回不可变/常量/只读数组

我希望有一个返回数组的函数,但我希望返回的数组是只读的,因此当我试图更改其内容时,应该会收到警告/错误

函数getList():只读数字[]{
返回[1,2,3];
}
const list=getList();
列表[2]=5;//这将导致编译错误,返回的列表不应更改

这可以用TypeScript实现吗

这似乎有效

函数getList():ReadonlyArray<数量>{
返回[1,2,3];
}
const list=getList();
列表[0]=3;//“ReadonlyArray”类型中的索引签名<数量>'只允许阅读。

在操场上试试看

ReadonlyArray<T&gt的实现方式如下:

接口只读阵列<T>{
只读[n:编号]:T;
//为简洁起见,删除了接口的其余部分。
}

发表评论