ES6 的 Symbol 的应用场景是什么? --

相信大家都学习过了 Symbol 后有个疑惑,这玩意有什么用啊?苦思冥想也想不出有什么应用环境,但其实 Vue 和 Node 等等框架都用过 Symbol,今天就来讲一讲。

但 Object 的 Key 是唯一的,所以很容易被覆盖:

这不完蛋了,俩人都想写自己的生日。

但因为 Symbol 有不可重复的特性,所以可以用这个特性,来实现防止被其他人重写:

这时就有了俩 Description 相同,但是值不相同且不冲突的两个 Key。

但是如果只有这个特性,那还不足以单独出一个类型到 Javascript 中,它还可以让一个值变成外部只读变量: