使用TypeScript的satisfies运算符时为何出现报错?
问题解答:TypeScript satisfies运算符示例中
at方法不存在的错误 不是文档错误,问题出在TypeScript的库配置未包含ES2022支持,和satisfies运算符本身无关:
at是ES2022新增的数组方法,TypeScript需要加载对应版本的类型定义文件,才能识别元组类型上的at方法。默认配置如果只包含ES2021及以下的lib,就会出现这个错误提示。- TS Playground 解决步骤:
- 点击页面顶部齿轮图标打开设置面板
- 在「Lib」选项组中勾选
ES2022或ESNext - 保存设置后错误提示会自动消失
- 本地项目解决方法:修改
tsconfig.json的compilerOptions,确保lib数组包含ES2022:{ "compilerOptions": { "lib": ["ES2022", "DOM"], "target": "ES2017", // target版本可低于ES2022,只要lib包含即可 "strict": true } } - 配置正确后,以下示例代码可正常运行:
const nums = [1, 2, 3] satisfies [number, number, number]; console.log(nums.at(-1)); // 输出3
内容的提问来源于stack exchange,提问作者Noob
相关产品推荐
相关产品推荐

