javascript - 使用 javascript 创建一个唯一的对象标识符

标签 javascript angular typescript ecmascript-6

我在客户端使用的对象需要一个唯一的 ID。我的对象数组非常小,通常是 4 个项目,不会更多。

我用这个:

export class MyItem {   
    uniqueObjectIdentifier: number;
    constructor(obj) {    
        this.uniqueObjectIdentifier = Math.random();
    }
}

有没有我可以访问的 javascript 或 angular internal 代替 handcrafted 属性?

最佳答案

您可以使用 Symbol .

Every symbol value returned from Symbol() is unique.

export class MyItem {
  uniqueObjectIdentifier: symbol;
  constructor(obj) {
    this.uniqueObjectIdentifier = Symbol();
  }
}

如果浏览器支持不允许您使用符号,您可以使用对对象的引用。

export class MyItem {
  uniqueObjectIdentifier: object;
  constructor(obj) {
    this.uniqueObjectIdentifier = {};
  }
}

关于javascript - 使用 javascript 创建一个唯一的对象标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45065157/

相关文章:

typescript - Typeguard 不会缩小类型

javascript - 如何在窗口最小化时将 <div .right> 定位在 <div .left> 上方,如果在窗口较大时 <div .right> 位于 <div .left> 的右侧

Javascript正则表达式惰性匹配

javascript - 当我更改代码、保存并在我的浏览器上测试它时,它仍然运行旧代码,为什么?

Angular 2 & Typescript Observable 函数参数——管道有什么作用?

javascript - 如何使用 Angular 动态更改css类

javascript - 用 Angular 6 中的接口(interface)信息填充字符串数组

javascript - 如何使用 jquery 禁用复选框?

angular - Ag 网格服务器端分页

angular - Mat 扩展面板扩展到其他 html 元素