主要用于给对象添加属性时防止key值重复,导致的属性覆盖。
const a = Symbol('a'); // 可成Sring和Boolean类型 const b = Symbol('a'); const c = 'b'; const d = 'b'; const obj = { a: 1 }; obj[a] = 1; obj[b] = 1; obj[c] = 1; obj[d] = 1; // obj的值 // a: 1 // b: 1 // Symbol(a): 1 // Symbol(a): 1 // Symbol.for 使用同一个Symbol的值,先全局查找有没有该为'key'的Symbol,有则返回该值,没有则新建。 const e = Symbol.for('key'); const f = Symbol.for('key'); f === e; // true // Symbol.keyFor 获取key值 Symbol.keyFor(e); // "key"
Symbol理解
猜你喜欢
转载自blog.csdn.net/ligaoming_123/article/details/83585814
今日推荐
周排行