我试图在节点中编写一个类,每个对象都可以有一个与之关联的唯一ID,所以如果我有一个Person类,那么第一个Person对象将具有ID 1,第二个将具有ID 2等。
在Java中,解决方案就是这样的
public class Person {
static int ID = 0;
public Person() {
++ID;
}
}
我发现了一些解决方案,但与Java中的实现相比,它们看起来非常冗长和愚蠢,是否有一种简单的方法可以像我在Java中提到的那样在节点中执行此操作?感谢
答案 0 :(得分:4)
简单的js:
let ID = 0;
class Person {
constructor() {
++ID;
}
}
可以使其成为Person的财产:
class Person {
constructor() {
++Person.ID;
}
}
Person.ID = 0;
当您来自Java背景时,您可能只使用typescript
并将其编译为js:
class Person {
public static ID = 0;
constructor() {
++Person.ID;
}
}
(静态属性目前在js(ESnext)提案中,所以这可能会很快成为有效的js ...)
一些意见:
我找到了一些解决方案,但与Java中的实现相比,它们看起来非常冗长和愚蠢
总是以更优雅的方式在js中编写java代码。