颜才 发表于 2026-1-15 23:00:01

TypeScript中never[]赋值给any[]报错的原因分析以及快速解决办法

never[]类型的说明

在TS中,空数组[]如果没有上下文类型,会被推断为never[]类型。
因为在TS中,数组类型是可变元组,而空数组在没有其他信息的情况下,无法确定其元素类型。
因此TS会将其推断为never[],表示这个数组不可能有元素(因为never类型表示不可能存在的类型)。
下面的情况会被推断为 never[]类型

// 情况1:空数组字面量
const arr = []// TypeScript 推断为 never[]

// 情况2:空数组作为对象属性
const obj = {
items: []// items 被推断为 never[]
}

// 情况3:在函数内部
function test() {
const arr = []// 推断为 never[]
return arr// 返回类型 never[]
}const personObj = reactive({
likeArr: [] // 推断为:never[]类型
})const personObj = ref({
serviceAndDimensionData: [], // 推断为:never[]类型
})下面的情况会被推断为 any[]类型

从any类型的值中取数组时。你可以看你取值的对象是否any类型的。
any[]不能赋值给never[]

never类型表示不可能存在的类型

never[]赋值给any[]报错的快速解决办法

const personObj = ref({
serviceAndDimensionData: [] as any[], // 将 never[]类型变成any[]类型
})这样网络请求返回来的数据赋值给never[]类型时就不会报错了。
最好的解决解决办法还是要在声明变量的时候声明数据类型哈。
                                                                                                                                                                                微信                                                                                                本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
                        如果文中有什么错误,欢迎指出。以免更多的人被误导。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

打阗渖 发表于 2026-1-16 18:01:39

这个有用。

捡嫌 发表于 2026-1-18 08:58:11

用心讨论,共获提升!

仄谦 发表于 2026-1-19 20:00:49

感谢分享

段干叶农 发表于 2026-1-22 19:21:12

鼓励转贴优秀软件安全工具和文档!

丰江 发表于 2026-1-24 00:20:17

喜欢鼓捣这些软件,现在用得少,谢谢分享!

二艰糖 发表于 2026-1-26 09:35:54

不错,里面软件多更新就更好了

昝梓菱 发表于 2026-1-27 04:31:23

感谢,下载保存了

滥眩 发表于 2026-1-27 05:27:45

谢谢楼主提供!

邹弘丽 发表于 2026-1-29 07:40:56

用心讨论,共获提升!

舒娅友 发表于 2026-2-3 11:23:27

感谢分享

凤患更 发表于 2026-2-6 10:37:34

感谢发布原创作品,程序园因你更精彩

仲水悦 发表于 2026-2-8 13:05:44

这个好,看起来很实用

瞧厨 发表于 2026-2-9 06:27:00

用心讨论,共获提升!

任俊慧 发表于 2026-2-10 13:54:23

谢谢分享,试用一下

赐度虻 发表于 2026-2-10 14:10:21

谢谢楼主提供!

距佰溘 发表于 2026-2-10 14:44:01

用心讨论,共获提升!

靳谷雪 发表于 2026-2-10 14:57:57

感谢分享,下载保存了,貌似很强大

均浇 发表于 2026-2-11 06:02:08

感谢,下载保存了

赖珊 发表于 2026-2-12 09:39:42

感谢发布原创作品,程序园因你更精彩
页: [1] 2
查看完整版本: TypeScript中never[]赋值给any[]报错的原因分析以及快速解决办法