对象中使用Symbol来定义属性名
1 2 3 4 5 6 7 8 | const obj={ name: 'alex' , [Symbol( 'imooc' )]:18, [Symbol( 'Symbol.cc' )]:()=>console.log( 'hello' ) }; console.log(obj) console.log(obj[Symbol.imooc]); // undefine console.log(obj[Symbol.cc]) //undefined |
老师,我使用Symbol数据来定义属性名,那么我怎样才能获得这些值呢?直接使用中括号打印结果是undefined
数组中的Symbol(Symbol.iterator)可以直接使用[1,2,3][Symbol.iterator]()来调用,为什么我这不可以?
相关截图:
12
收起
正在回答
1回答
同学你好,解答如下:
1、改变一下定义方式,Symbol()提前声明参考:
2、对象中没有遍历器,所以不能用Symbol.iterator调用。
3、如果想调用对象中的Symbol('Symbol.cc')方法,可以这样:
自己再测试下,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧