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

本文深入介绍了ES6中的关键特性,包括类的定义与使用,如构造函数和静态方法;继承机制,利用`extends`关键字及`super`调用父类方法;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());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值