set map symbol的用法和类的继承

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('旺旺旺旺')
				}
			}

猜你喜欢

转载自blog.csdn.net/web2001chu/article/details/107966033