面试题答案
一键面试Symbol类型介绍
Symbol
是ES6(ES2015)引入的一种基本数据类型,表示独一无二的值。它主要用于创建对象的唯一属性键,以避免属性名冲突。
基本特性
- 唯一性:每个
Symbol
值都是唯一的,即使使用相同的描述符创建,它们也不相等。 - 不可变:一旦创建,
Symbol
值不能被修改。 - 隐藏性:
Symbol
作为对象属性时,不会被for...in
、Object.keys()
等常规方式遍历出来,增强了对象属性的隐私性。
创建Symbol示例
// 使用Symbol函数创建一个symbol
let sym1 = Symbol();
// 使用带有描述符的Symbol函数创建一个symbol
let sym2 = Symbol('description');
使用Symbol作为对象属性示例
let mySymbol = Symbol('key');
let myObject = {
[mySymbol]: 'value'
};
// 获取Symbol属性的值
console.log(myObject[mySymbol]);