ES6 引入了一种新的原始数据类型Symbol
,表示独一无二的值。
ES5数据类型:string、boolean、number、undefined、null 、object
它是 JavaScript 语言的第七种数据类型。
Symbol 值通过Symbol
函数生成。
1. 基础用法
代码案例
let s=Symbol();//定义一个symbol类型 独一无二的值
2.Symbol描述符
可以通过在Symbol函数的小括号中传递数据来描述Symbol
代码案例:
let s1=Symbol(2)//描述 没有实际的价值
3.应用场景
常用来模拟对象私有属性和方法。
一般常用于框架、js内置函数和对象中
//使用Symbol来模拟私有属性
function Person(){
let s=Symbol();
this[s]='李四';
this.getName=function(){//取值的方法
return this[s];
}
}
let p=new Person();
// console.log(p);
let sName=p.getName()
console.log(sName);