ES6 2

179 阅读1分钟

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