返回
ES6 Symbol对象
前端
2023-11-14 09:41:41
ES6 Symbol对象简介
ES6 中的 Symbol 对象是一种原始数据类型,用于创建独一无二的对象属性。Symbol 对象通常用作对象属性的键值,尤其是当你想让属性是私有的时候。Symbol 对象提供了 Symbol.iterator 和 Symbol.hasInstance 等内置符号,用于表示迭代器和 instanceof 运算符。
Symbol 对象是 ES6 中新增的数据类型,它是一种基础数据类型,MDN 中的对 Symbol 类型的为:数据类型 “symbol” 是一种原始数据类型,该类型的性质在于这个类型的值可以用来创建匿名的对象属性。该数据类型通常被用作一个对象属性的键值——当你想让它是私有的时候。 symbol…
Symbol对象的特性
Symbol 对象具有以下特性:
- Symbol 对象是独一无二的,即没有任何两个 Symbol 对象是相等的。
- Symbol 对象是不可变的,即一旦创建,就不能再改变其值。
- Symbol 对象是私有的,即不能在对象外访问。
Symbol对象的用途
Symbol 对象通常用作对象属性的键值,尤其是当你想让属性是私有的时候。例如,你可以使用 Symbol 对象来创建一个私有属性,用于存储敏感数据。
const symbol = Symbol();
const object = {
[symbol]: 'secret data'
};
console.log(object[symbol]); // "secret data"
Symbol对象的内置符号
Symbol 对象提供了 Symbol.iterator 和 Symbol.hasInstance 等内置符号,用于表示迭代器和 instanceof 运算符。
- Symbol.iterator:Symbol.iterator 内置符号用于表示迭代器。迭代器是一种对象,它可以按顺序访问集合中的元素。
- Symbol.hasInstance:Symbol.hasInstance 内置符号用于表示 instanceof 运算符。instanceof 运算符用于判断一个对象是否属于某个类。
总结
ES6 中的 Symbol 对象是一种原始数据类型,用于创建独一无二的对象属性。Symbol 对象通常用作对象属性的键值,尤其是当你想让属性是私有的时候。Symbol 对象提供了 Symbol.iterator 和 Symbol.hasInstance 等内置符号,用于表示迭代器和 instanceof 运算符。通过阅读本文,您对 ES6 中的 Symbol 对象有了更深入的了解。