ES6学习笔记11--Symbol数据类型

  • 概述:

Symbol 数据类型是一种类似于字符串的数据类型,用来表示独一无二的值。

凡是属性名属于Symbol 类型,可以保证不会与其他属性名产生冲突。

Symbol 函数不能使用 new 命令,且可以接受一个字符串作为参数,表示对 Symbol 实例的描述。

相同参数的Symbol 函数的返回值是不相等的。且Symbol 值不能与其他类型的值进行运算。

Symbol 值也可以转为布尔值,但是不能转为数值。

 let s = Symbol();
 let s1 = Symbol('s1')  //参数只是表示对当前Symbol 值的描述。
 let s2 = Symbol('s1') 
 //即使是相同参数的Symbol 函数的返回值是不相等的 
 s2 === s1 //false
 // Symbol 值不能与其他类型的值进行运算,会报错。
 "your symbol is " + s1 // TypeError: can't convert symbol to string
 //Symbol可以显示转换为字符串,布尔值。但不能转为数值
 String(s1) or s1.toString() // "Symbol(s1)"
 Boolean(s1)  // true
 Number(s1) //"Cannot convert a Symbol value to a number"

  • Symbol.prototype.description 读取Symbol 数据类型时的描述

let s = Symbol("s");
s.description // "s"

  • 用途

(1)作为对象的属性名,保证不会出现同名的属性。但Symbol  值作为对象属性名时,不可以用点运算符来取值与定义属性。

只能用大括号[]定义属

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值