由于Symbol
是唯一且不可变的数据类型,因此Symbol
的常见用例是对象属性。但是,将它用作唯一ID是一种好习惯吗?例如:
const list = [
{id: Symbol()},
{id: Symbol()}
]
答案 0 :(得分:2)
这完全取决于您的需求。如果您只需要将它们作为自己代码库中的标识符,它们就可以了,当然比生成随机ID更好。
使用Symbol()
的一个主要缺点是它们不可序列化。没有办法在网络/进程之间共享Symbol()
的值或将它们保存到磁盘/数据库。
对于大多数情况,使用自动递增ID可能更好。