在 es6中引入了一个新的数据类型 symbol。记录一下这个类型的特性,方便后续使用
- 这是一个基本数据类型。
- 使用symbol 方法调用生成的数据用于是唯一的。
- 不能使用 new 关键字
- 对象 的属性 key 为 symbol类型的 数据是不可以被枚举的
使用场景
- 定义对象的私有属性
function createPeople(name, age) {
const \_age = Symbol("Age");
return {name, getAge: function() {return this\[\_age];}, \[\_age]: age};
}
- 定义对象的唯一属性
const name = Symbol('name');
const obj = { [name]: 'Z_haha', }
- 作为常量使用
const tabTypes = {
basic: Symbol(),
super: Symbol(),
}
if (type === tabTypes.basic)
{
return <div>basic tab</div>
}
if (type === tabTypes.super) {
return <div>super tab</div>
}