JS-浅谈一下Symbol

Symbol

js第七种数据类型:null,undefined,boolean,number,string,object,symbol

const sym = Symbol('abc')//添加一个描述

symbol可以当作对象的属性名

const level = Symbol("level")
const student = {
	name :'小明',
	age:12,
	[level]:'优秀'
}
console.log(student);

for (let i in student)

console.log(i);

  

//怎么获取到level的那个值呢?

  

console.log(student[level])

如果

const level1 = Symbol("level")

const level2 = Symbol("level")

//symbol值产生是唯一的

//level1和level2 是不一样的

//所以可以进一步写

const student = {

name: '小明',

age: 12,

[Symbol("level")]: '优秀',

[Symbol("level")]: '有钱',

}

//那现在怎么获取呢

console.log(student[Object.getOwnPropertySymbols(student)[0]])

//返回的是个数组

Symbol for···of

Symbol.iterator 是一个内置的值,Symbol是做属性名的

console.log(student[Symbol.iterator])//undefined

let arr = [1, 2, 3, 4, 5]

console.log(arr[Symbol.iterator])//就有

如果对象有Symbol.iterator那这个对象就可以被for···of遍历
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值