首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态无功

静态无功
EN

Stack Overflow用户
提问于 2018-01-30 15:52:03
回答 1查看 35关注 0票数 1

我试图在节点中编写一个类,每个对象都可以有一个与其关联的唯一id,因此,如果我有一个类Person (例如,第一个Person对象将有ID 1,第二个对象将有ID 2等等)。

在Java中,解决方案应该是这样的

代码语言:javascript
复制
public class Person {

  static int ID = 0;

  public Person() {
    ++ID;
  }
}

我已经找到了一些解决方案,但与Java中的实现相比,它们似乎长得离谱,愚蠢得离谱,是否有一种简单的方法可以像我在Java中提到的那样在节点中实现?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-30 16:01:00

在普通js中:

代码语言:javascript
复制
let ID = 0;

class Person {
  constructor() {
     ++ID;
   }
}

可使其成为人的财产:

代码语言:javascript
复制
class Person {
  constructor() {
     ++Person.ID;
   }

}

Person.ID = 0;

由于您来自Java背景,您可能只需使用typescript并将其编译成js:

代码语言:javascript
复制
class Person {
  public static ID = 0;

  constructor() {
     ++Person.ID;
   }
}

(静态属性目前在js (ESnext)建议中,因此这可能很快成为有效的js .)

关于以下方面的一些意见:

我已经找到了一些解决方案,但与Java的实现相比,它们似乎长得离谱,愚蠢至极。

在js中编写java代码总是有一种更优雅的方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48525491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档