学习笔记:ES6之Symbol
来源:互联网 发布:imei校验码算法 编辑:程序博客网 时间:2024/05/19 18:16
Symbol的概念
提供一个独一无二的值,是一种数据类型
//声明
Let a1=Symbol();
Let a2=Symbol();
console.log(a1===a2);--false永不相等
//Symbol.for()与Symbol()一样都是声明一个值,但是Symbol.for(key)会检查之前有没有声明过key,如果声明了则返回声明的值,之前没有声明过,则生成一个独一无二的值
Let a3=Symbol.for('a3');
Let a4=Symbol.for('a3');
console.log(a3===a4);---true
symbol的作用
(1)
let a1=Symbol.for('abc');
let obj={
[a1]:'123',
'abc':345,
'c':456
};
console.log('obj',obj);---obj Object {abc: 345, c: 456,Symbol(abc): "123"}
//利用for of遍历是取不到symbol()声明的值,只能取到对象里面的值
for(let[key,value]of Object.entries(obj)){
console.log('letof',key,value);--let of abc 345 , let of c 456
}
//只能得到Symbol()声明的值,使用Object.getOwnPropertySymbols(obj),得到一个数组
Object.getOwnPropertySymbols(obj).forEach(function(item){
console.log(obj[item]);---123
});
//利用Reflect.ownKeys(obj)可以取到obj中所有的值,返回值是一个数组
Reflect.ownKeys(obj).forEach(function(item){
console.log('ownKeys',item,obj[item]);
})
返回值:
ownKeys abc 345
ownKeys c 456
ownKeys Symbol(abc)123
- ES6学习笔记之Symbol
- ES6学习笔记之《Symbol》
- 学习笔记:ES6之Symbol
- 【ES6学习笔记】-----箭头函数与symbol
- es6 学习笔记(二)Symbol
- 8、Symbol数据类型—ES6学习笔记
- ES6学习之路10----Symbol
- ES6 Symbol 学习
- ES6之路--Symbol
- ES6之Symbol
- ES6入门之Symbol
- ES6之Symbol
- ES6之Symbol
- ES6学习之路~~Symbol:独一无二的值类型
- ES6学习6(Symbol)
- ES6学习8章:Symbol
- es6学习笔记之Promise
- ES6学习笔记之class
- String 与 int之间的类型转换
- Docker集中化web界面管理平台shipyard
- 阿里云大鱼短信api
- 【深度学习&分布式】Parameter Server 详解
- sql 聚合函数有哪些
- 学习笔记:ES6之Symbol
- poj 2456 Aggressive cows
- 半小时学会LevelDB原理及应用
- 二叉树性质
- note 2
- 62. Unique Paths
- Pyhton Windows下环境配置
- <2> 有限时间内,计算一个尽可能大的素数
- 案例|FEC筷云经典案例“西洋街”,澳门最大跨境电商平台