TypeScript中findLastIndex方法报错,是否需额外配置?
TypeScript适配findLastIndex方法的解决方案
报错原因
findLastIndex是ES2022(ES13)新增的数组实例方法,你的TypeScript配置中target设为ES6,默认加载的类型定义库不包含该方法的声明,因此触发类型错误。
解决方法
有两种配置方式可以让TypeScript识别findLastIndex的类型:
升级编译目标版本
修改tsconfig.json的target为ES2022或更高版本,TypeScript会自动加载对应版本的全部类型定义:{ "compilerOptions": { "target": "ES2022" } }单独补充类型库
如果不想调整编译输出的目标版本,可以在compilerOptions中添加lib配置,仅引入ES2022数组相关的类型声明:{ "compilerOptions": { "target": "ES6", "lib": ["ES6", "ES2022.Array"] } }该方式不会改变编译输出的JS版本,仅补充
findLastIndex的类型定义。
额外注意
如果代码运行环境(如旧版浏览器)不原生支持findLastIndex,需要引入polyfill(例如core-js)保证运行时兼容性,这部分属于运行时适配,和TypeScript类型配置无关。
内容的提问来源于stack exchange,提问作者Shylock Wu
相关产品推荐
相关产品推荐

