let s=Symbol(); ,这样s就是一个symbol数据了,它是一个独一无二的值,他不是对象,不能添加属性。也不能和其他类型的值进行运算
symbol这个数据类型,总体来说感觉特别抽象特别缥缈,大家在实际开发中,什么场景下会用到它呢?
还有Map 也是同样的疑问。。。。。。。
找不到应用场景就不找,不用非得硬找。
根据二八原则,80% 的功能只用会用到 20% 的 API。
用 Symbol 的最常见场景就是可以用来模拟私有属性或方法了,弥补了 JS 没有 OOP 语言常见的 private、public 这种可见性修饰符的不足。
private
public
不过绝大部分 JS 开发者,根本也不写 OOP,你管它什么可见性呢?
非要写带可见性的开发者,早就用上 TS 了,何必用个半残的 Symbol。
548k questions
547k answers
4 comments
86.3k users