ES6 Symbol基本用法

ES6 引入了 Symbol 数据类型,用于创建唯一的标识符,避免属性命名冲突。Symbol 不能通过 new 关键字创建,并且可以接受字符串参数作为描述。作为属性名时,Symbol 需要使用括号语法,不会被常规方式遍历,但可通过 Object.getOwnPropertySymbols 获取。Symbol.for 和 Symbol.keyFor 分别用于注册和查找已登记的 Symbol 值。
摘要由CSDN通过智能技术生成

一、什么是 Symbol

Symbol 是 ES6 新出的一种数据类型,可以简单理解为 唯一的量,独一无二的值。

symbol: 记号,标记;被标记过了,可不就唯一了嘛。

二、为什么会有 Symbol

ES5的对象的属性名都是字符串,这样很容易造成命名冲突,可能会重写原有对象的属性或者方法。

于是,就新搞出了一种新的数据类型——Symbol。

它是一种基本数据类型,不能使用 new 命令。

三、基本用法

let s1 = Symbol([1,2]);
let s2 = Symbol('bar');

console.log(s1)
console.log(s2)

Symbol 是可以接受一个字符串作为参数的,仅用来对 Symbol 实例进行描述。

let s3 = Symbol('foo');
let s4 = Symbol('foo');

s3 === s4 // false

参数只是描述,另外,如果传入的参数是一个对象的话(无论是数组对象,还是object对象),会执行对象的toString()方法

let s1 = Symbol({
   a:1});
let s2 = Symbol([1,2]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值