前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6 随性学习之 新增数据类型 Symbol

ES6 随性学习之 新增数据类型 Symbol

原创
作者头像
appoint
修改2020-10-15 14:15:38
3340
修改2020-10-15 14:15:38
举报
文章被收录于专栏:es6 随性学习

ES6新数据类型 Symbol

  • Symbol 表示独一无二的值,常用做对象唯一的属性名(注意 S要大写) let newData = Symbol('Im a new data type') console.log(newData) // Symbol(Im a new data type) console.log(typeof(newData)) // "symbol" // 因为是唯一性所以值相等的两个不会想等 let newData1 = Symbol('Im a new data type') console.log(newData === newDate1) // false // 两个等号也是一样 console.log(newData == newDate1) // false console.log(newData == newDate) // true // 三个等号也会等于自己 console.log(newData === newDate1) // true let obj = {} let sy = Symbol('name') obj[sy] = 'obj1' console.log(obj) // {Symbol(name): "obj1"} // Symbol 用作对象属性名的时候 将不能 用 obj.sy 将获取不到值 console.log(obj.sy) // undefined // 用[]可以正常获取到值 console.log(obj[sy]) // "obj1"
  • 先来看看基本用法
  • 上面说了常用作对象的唯一属性名
    • 这里也看看怎么用
  • Symbol.for()Symbol.keyFor()```javascript // Symbol.for() 传入一个参数 在全局搜索是否存在,不存在就新建一个Symbol(参数)并反回 let sym = Symbol('str') let sym1 = Symbol.for('str') console.log(sym1) // Symbol(str) console.log(sym1 === sym) // false let sym2 = Symbol.for('str') console.log(sym2) // Symbol(str) console.log(sym1 == sym2) // true // Symbol.keyFor() 返回一个已登记的 Symbol 类型值的key 的值 并反会这个值 let sym3 = Symbol(sym1) console.log(Symbol.keyFor(sym3)) // "str" ```来都来了点个赞呗~~~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ES6新数据类型 Symbol
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档