将ES6 Symbol用作唯一ID是一种好习惯吗?

时间:2015-09-03 06:15:20

标签: javascript ecmascript-6

由于Symbol是唯一且不可变的数据类型,因此Symbol的常见用例是对象属性。但是,将它用作唯一ID是一种好习惯吗?例如:

        const list = [
            {id: Symbol()},
            {id: Symbol()}
        ]

1 个答案:

答案 0 :(得分:2)

这完全取决于您的需求。如果您只需要将它们作为自己代码库中的标识符,它们就可以了,当然比生成随机ID更好。

使用Symbol()的一个主要缺点是它们不可序列化。没有办法在网络/进程之间共享Symbol()的值或将它们保存到磁盘/数据库。

对于大多数情况,使用自动递增ID可能更好。