一、为什么需要 Symbol(问题) 在 ES5 中,对象属性名只能是字符串,容易发生命名冲突:后定义的属性会覆盖先定义的属性。大型工程或多库组合时尤为常见。 痛点:如何为对象添加“绝不会冲突”的键? 答案:使用 Symbol 作为键。每个 Symbol 都是唯一的,不会与任何其他键相等。 二、Symbol 是什么(原理) Symbol 是一种原始数据类型,表示独一无二的值。 通过工厂函数创建:Symbol([description])。描述只是调试用标签,不参与相等比较。 相同描述创建的两个 Symbol 也不相等。 const s1 = Symbol(); const s2 = S...