当前位置: 首页 > 知识库问答 >
问题:

typescript - error TS2550: Property 'at' does not exist ?

魏彦
2024-03-31

tsconfig.json

{    "compilerOptions": {        "target": "ES2022",        "lib": [            "ES2022.Array"        ]    }}

app.ts

[1].at(0)
$tsc app.tsapp.ts:1:5 - error TS2550: Property 'at' does not exist on type 'number[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2022' or later.1 [1].at(0)      ~~Found 1 error in app.ts:1

这是为何?

共有1个答案

谷梁波
2024-03-31

错误 TS2550 表示你正在尝试访问的属性或方法在当前 TypeScript 编译目标或库版本中不存在。在你的例子中,你正在尝试使用 Array.prototype.at() 方法,这是 ES2022 中引入的新特性。

然而,尽管你的 tsconfig.json 文件中已经设置了 "target": "ES2022",你还需要在 compilerOptions 中添加 "lib": ["es2022"],以包含 ES2022 的类型定义。

所以,你的 tsconfig.json 应该修改为:

{    "compilerOptions": {        "target": "ES2022",        "lib": ["es2022"]    }}

注意,"lib": ["ES2022.Array"] 只包括了 Array 类型定义,而不包括其他 ES2022 提供的全局类型和函数。你应该使用 "lib": ["es2022"] 来包含所有的 ES2022 类型定义。

这样修改后,你的代码应该能够正确编译和运行。

请注意,你需要安装一个较新版本的 TypeScript,因为早期版本可能不包含对 ES2022 的完整支持。

 类似资料:
  • 像函数参数一样,类有时具有可选成员。 同样的语法可以用于class定义: nickName?: string; 在上面的示例中,的实例保证有一个name,并且可以可选地具有nickName。 修饰符 public:类的每个成员默认为,可以自由被访问。 private:类成员被标记为private时就不能在类的外部访问。 继承与多态 封装,继承和多态是面型对象的三大特性。 TypeScript的

  • 类型 接口 形状 装饰 类型 许多人没有意识到这一点,JavaScript中实际上有类型的,但他们只是“鸭子类型”,这大概意味着程序员不必去想它们。TypeScript中也存在JavaScript的类型: boolean (true/false) number整数,浮点数,和NaN []其他类型的数组,如number[]或boolean[] {} 对象字面量 undefined 没有设置 enum

  • 请直接使用 @megalo/cli 创建 typescript 项目,如果你想了解相关的webpack配置感兴趣,可以配置 megalo-cli-service inspect 命令查看, 或者可查看 @megalo/cli-plugin-typescript

  • 从v5开始,Sequelize 提供了自己的 TypeScript 定义. 请注意,仅支持 TS >= 3.1. 由于 Sequelize 严重依赖于运行时属性赋值,因此 TypeScript 在开箱即用时不会非常有用. 需要大量的手动类型声明才能使模型可用. 安装 为了避免非 TS 用户的安装膨胀,你必须手动安装以下键入包: @types/node (这是普遍需要的) @types/valida

  • TypeScript 是微软新推出的一种语言,基于 JavaScript,是 JavaScript 的超集,最终通过工具编译生成 JavaScript。 TypeScript 兼容JavaScript,可以载入 JavaScript 代码然后运行。TypeScript 与 JavaScript 相比,进步的地方包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个

  • TypeScript 类 TypeScript 是面向对象的 JavaScript。 类描述了所创建的对象共同的属性和方法。 TypeScript 支持面向对象的所有特性,比如 类、接口等。 TypeScript 类定义方式如下: 定义类的关键字为 class,后面紧跟类名,类可以包含以下几个模块(类的数据成员): 字段 − 字段是类里面声明的变量。字段表示对象的有关数据。 构造函数 − 类实例化