Typescript 允许以数字开头创建 class 字段名称

Typescript allows to create a class field name by starting with number

为什么 typescript 允许 class 数字中的字段名称

 1: number = 1;
 2: number = 2;

根据这个讨论 Why can't variable names start with numbers? 我们不能创建一个以数字开头的 class 字段名(甚至 JavaScript 也不允许,如果我们定义一个变量名开始带编号)。但是在打字稿中,我们可以创建一个以数字(随便)开头的 class 字段名称。为什么?这是 typescript?.

中的错误

参考

12 的定义不是变量定义,您定义的是 class 成员,完全可以用数字命名。

但请记住,您无法通过 this.1 访问它们,您必须使用 this[1]

在 Javascript 中,对象属性可以用数字命名(例如 Array 的实现正在做的事情),因为(如评论中的@zerkms statet)它们是隐式转换为字符串。