You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

第三方库更新后readonly X[]无法赋值给X[]的TypeScript错误如何修复?

修复步骤

1. 修正字段名引用

第三方库新版将Foo类的字段从field改名为foo,首先要把调用代码里的:

print(foo.field)

改为:

print(foo.foo)

2. 解决只读数组类型不兼容问题

根据print函数的实际需求,选择以下两种方案之一:

方案A:修改print函数支持只读数组(推荐,无额外转换开销)

如果print函数仅对数组做读取操作(不修改数组元素或长度),直接把参数类型改为readonly X[]——它同时兼容普通X[]和只读readonly X[]:

function print(items: readonly X[]): string {
  // 示例处理逻辑
  return items.map(item => `${item}`).join(' | ');
}

方案B:将只读数组转为普通数组

如果print函数必须接收可变X[](内部会修改数组),用扩展运算符或Array.from做转换:

// 扩展运算符方式
print([...foo.foo]);

// Array.from方式
print(Array.from(foo.foo));

内容的提问来源于stack exchange,提问作者Sergino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 17:40:24