ES6(二)

188 阅读1分钟

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) {}