set map symbol的用法
set特点:不重复数组 要用于对数组去重
- 初始化 new Set
- 添加 add()
- 删除 delete()
- 获取长度 size
- 遍历 for of
- 转换为数组 Array.from()[…]
var arr=[1,1,2,3,4,5,4,4,3,5]
var s1=new Set(arr);
// arr=[...s1];
arr=Array.from(s1);
console.log(arr)
console.log(s1)
map类似于对象,但与对象又有区别主要区别在于:
map键名可以是任意对象,而对象的键名只能是字符串或者symbol符号
map是有序的 按默认排序
- delete() 删除键值对。
- clear() 清空map
- size() 返回map的长度
- keys() 返回所有的属性名
- has(‘属性名’)
var obj={name:"mumu",age:18,"1":"zhan","2":"sheng"}
console.log(obj)
var map = new Map([["name","mumu"],["name1","mumu1"],["name2","mumu2"]])
console.log(map)
symbol 符号特点
主要不重复 唯一
常用于 作用对象的key
s1=symbol('blue')
var obj={[s1]:"贝"};
symbol.for('blue')==symbol.for('blue') //true
symbol('blue')==symbol('blue') //False
for of的用法
var arr=["我爱","我的","祖国"]
for(let item of arr){
console.log(item)
}
for(let key of arr.keys()){
console.log(key);
}
for(let[val,key] of arr.entries()){
console.log(val,key)
}
for(let val of arr.values()){
console.log(val);
}
类和继承
class Animal{//创建一个名为Animal的类
constructor(name) {//传递参数
this.name=name;
}
runing(){//构造一个方法
console.log(`${this.name}跑跑跑跑`)
}
}
class Dog extends Animal{//Dog类继承Animal类
constructor(name) {
super(name)
}
bark(){
console.log('旺旺旺旺')
}
}