ES6之 Symbol(七)

  • Symbol定义

    • ES6中的添加了一种原始数据类型symbol(已有的原始数据类型:String, Number, boolean, null, undefined, 对象)
    • 特点
      • Symbol属性对应的值是唯一的,解决命名冲突问题
      • Symbol值不能与其他数据进行计算,包括同字符串拼串
      • for in, for of遍历时不会遍历symbol属性
  • Symbol使用案例

//案例 1:
var sym = Symbol();
console.log(typeof sym);//symbol

//案例 2: 用作对象的属性(唯一)
let obj = {username: 'kobe', age: 39};
obj[symbol] = 'hello';
console.log(obj);

在这里插入图片描述

  • 传参标识: Symbol函数接收一个字符串参数,表示描述,主要为了在控制台显示或者转成字符串区分
let symbol = Symbol('one');
let symbol2 = Symbol('two');
console.log(symbol);// Symbol('one')
console.log(symbol2);// Symbol('two')
  • Symbol是新增的数据类型,表示独一无二,用来做属性的key,不会被修改覆盖
var sym1 = Symbol();
var sym2 = Symbol();
console.log(sym1 == sym2);//false

//作为属性名只能通过[]
//作为属性名,最主要的就是这个key是独一无二的,不会被覆盖或者改写
var sym1 = Symbol();
var obj = {};
obj[sym1] = 'sym1';
console.log(obj[sym1]);//sym1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值