symbol
第六种基本数据类型 独一无二的 用于对象中
let aaa = Symbol();
let bbb = Symbol();
console.log(Object.is(aaa,bbb)) //false
console.log(aaa===bbb)//fasle
let obj = {
[aaa]: 'BBBlll',
[bbb]: 24,
[Symbol()]: 'pi',
[Symbol('x1')]: 'pr',
}
//设置Symbol类型数据
obj[Symbol()] = 'abc'
//获取Symbol类型数据
console.log(obj[aaa])
Symbol类型的属性在for in 循环中无法拿到
Set
建立无重复数据的类数组
add()
delete()
has()
clear()
size
let a = [1,2,2,5,7,5,4,6,];
let b =new Set(a);
console.log(b)//[1,2,5,7,4,6]
console.log(b.size) //返回类数组的长度 6
console.log(console.log(b.add(9))) //向数组中添加数据 [1,2,5,7,4,6,9]
// delete() 删除数据 => boolean
console.log(s1.delete(4)) // true
console.log(s1.delete(0)) // false
console.log(s1) // 2 1 3 5 9
// has() 判断是否含有某个数据 => boolean
console.log(s1.has(8)) // false
// clear() 清空
s1.clear()
console.log(s1)
Map
const m = new Map();
const o = {p: 'Hello World'};
m.set(o, 'content')
m.get(o) // "content"
m.has(o) // true
m.delete(o) // true
m.has(o) // false