es2015,类,静态方法,继承, Set,Map,Symbol,iterator迭代器

es2015 中的类
 

class Pro {
  constructor(name){
    this.name=name
  }
  say(){
    console.log(`hi,${this.name}`);
  }
  // 静态方法
  static create(name){
    return new Pro(name)
  }
}
// const p = new Pro("zom")

const p = Pro.create("zom")
p.say()  //hi,zom

 extends (继承), super() 调用父类的方法
 

// 继承
class Student extends Pro{
  constructor(name,number){
    super(name)
    this.number= number
  }

  hello(){
    super.say() //调用 Pro 类的say() 
    console.log(`my number is ${this.number} `);
  }
}
const s = new Student("pink","100")
s.hello()  // hi,pink
           // my number is 100

Set 使用

//Set 使用
const s= new Set();
s.add(1).add(2).add(3).add(4)

console.log(s.size);      // 4  大小
console.log(s.has(5));    // false 查找
console.log(s.delete(4)); // true  删除

// 给数组去重
const arr =[1,2,5,3,4,2,1]
const res = Array.from(new Set(arr))
console.log(res);  //[ 1, 2, 5, 3, 4 ]

Map

//  Map 使用,任意对象作键, key(键),value(值)
const m = new Map()


const tom = {name:"tom"}

m.set(tom,90)
m.set("one","ss")
console.log(m);  //Map(1) { { name: 'tom' } => 90, 'one' => 'ss' }
console.log(m.get(tom)); //90
m.forEach((value,key)=>{
  console.log(key,value);  //{ name: 'tom' } 90  , one ss
})

Symbol
 

// Symbol 使用,Symbol是独一无二的属性名
const s =  Symbol()
console.log(s);         // Symbol()
console.log(typeof s);  // symbol
console.log(s === Symbol()); // false
console.log(Symbol() === Symbol()); //false

console.log(Symbol("tom"));

iterator 迭代器
 

//  iterator 迭代器
const set = new Set(["one","two","three"])
const iterator = set[Symbol.iterator]()
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值