symbol
ES6 symbol 新增基本数据类型 表示独一无二的值
对象下的属性如果是Symbol 不会在for in循环中循环出来
var a= Symbol
console.log(a)//Symbol()
let obj = {
name:'xiaoming',
age: 20
}
let height = Symbol()
obj[height] = '170cm'
let weight = Symbol()
console.log(height == weight)//false
obj[weight] = '60kg
for(key in obj){
console.log(obj)
}
set
类数组 数组的去重
let a1 = [1,2,3,4,2,2,3,4,5]
let a2 = new Set(a1)//类数组
console.log(a2)//size 长度
let a3 = Array.from(a2)//类数组转换为数组
console.log(a3)
//方法
let a4 = []
for(let i=0;i<a1.length;i++){
if(!a4.includes(a1[i])){
a4.push(a1[i])
}
}
console.log(a4)
set下 add() 方法 添加某个值
delete() 删除某个值
has() 判断是否有某个值 返回值为booleab=n
clear() 清除所有
let b = new Set();
b.add(1);
b.add(2)
b.add(3)
b.delete(1)
b.has(2)
b.clear()
console.log(b)
map
map 类对象 size 表示长度
.set(key,value) 设置一个值
let p1 = new Map()
console.log(p1)
let p2 = {
name: 'xiaoming',
age:'18'
}
let p3 = new Map()
p3.set('name','ccc')
console.log(p2)
console.log(p3)
.get(key) 获取属性值
console.log(p3.get('name'))
.delete(key) 判断是否有某属性
console.log(p3.has('name'))
.delete(key)
console.log(p3.delete('name'))//true
console.log(p3.delete('xiaoming'))//false
.clear() 清除所有属性
p3.clear()
console.log(p3)//Map(0) {}