ES6中Symbol怎么用 示例详解
基本概念与作用说明
在ES6(ECMAScript 2015)引入了新的原始数据类型:Symbol。Symbol是一种基本数据类型,其值是唯一的且不可变的。这意味着每个通过Symbol()
创建的值都是独一无二的。Symbol的主要用途在于作为对象属性的键,尤其是当需要定义一个不会与其他属性冲突的键时非常有用。
特性
- 唯一性:每个Symbol实例都是唯一的。
- 不可变性:一旦创建,Symbol实例的值不能被改变。
- 隐藏性:使用Symbol作为对象属性的键时,该属性不会出现在常规的对象属性枚举中,如
for-in
循环。
示例一:基础使用
let sym = Symbol();
console.log(typeof sym); // "symbol"
示例展示了如何创建一个基本的Symbol,并检查其类型。
示例二:带描述的Symbol
let symWithDesc = Symbol("This is a description");
console.log(symWithDesc.toString()); // "Symbol(This is a description)"
这里我们为Symbol添加了一个描述,虽然这个描述不影响Symbol的唯一性,但它可以帮助开发者更好地理解Symbol的目的或用途。
示例三:使用Symbol作为对象属性
let obj = {
};
let symKey =