微信二维码
微博二维码
qq号二维码

symbol你真得懂么?

夏磊银 2020.06.02 994人浏览
ES6新增原始数据类型Symbol

ES6新增原始数据类型Symbol

Symbol表示独一无二的值,常用来定义对象的唯一属性名

注:ES6数据类型有Number、String、Boolean、Object、null、undefined、Symbol


Symbol函数栈不能用new创建(原始数据,非对象)

可接受一个字符串作为参数作为Symbol的描述,以便区分


相同参数的Symbol()返回的值不相等

<script type="text/javascript">

let a = Symbol("aa");

console.log("a的值:",a);

symbol你真得懂么?

let b = Symbol("aa");

console.log("b的值:",b);

console.log(a == b);

console.log(a === b);

symbol你真得懂么?

</script>


常作为对象唯一属性名

<script type="text/javascript">

let s = Symbol("username");

let sobj = {};

sobj[s] = "shally";

console.log(sobj);

symbol你真得懂么?

let ssobj = {

[s]:"张三"

};

console.log(ssobj);

symbol你真得懂么?

let sssobj = {};

Object.defineProperty(sssobj,s,{value: "李四"});

console.log(sssobj);

symbol你真得懂么?

</script>


<script type="text/javascript">

var r = Symbol("aa");

var rr = Symbol.for("aa");

console.log(r == rr);

symbol你真得懂么?

var rrr = Symbol.for("aa");

console.log(rr == rrr);

symbol你真得懂么?

var zz = Symbol.for("czs");

console.log(Symbol.keyFor(zz));

symbol你真得懂么?

</script>

你会了么?

分享到:
天津UI设计培训-CleanPNG免抠素材网站
  • 2020.11.30
  • 天津IT培训后最便宜的程序员都做些什么?拿多少钱?如何破局
  • 2024.04.16