js

Es6

Posted by Learning libs on June 23, 2020

set

/**

  • 数据结构: set
  • 集合: 可以存储任何数据类型,并且是唯一的(不重复的值) */ ```javascript const set1 = new Set();

// 往set1中添加数据 set1.add(100); set1.add(“A String”); set1.add({name:”Henry”}); set1.add(true); // set1.add(100); // 不可以重复添加,无作用

// console.log(set1);

const set2 = new Set([1,true,’string’]); // console.log(set2);

// 计算set1中的数据个数 // console.log(set1.size);

// 检查set中是否拥有对应的值 // console.log(set1.has(100)); // console.log(set1.has(50 + 50));

// console.log(set1.has({name:”Henry”}));// 匹配的是地址 // console.log({name:”Henry”} === {name:”Henry”});

// 删除set中的内容 set1.delete(100); // console.log(set1);

// for … of 遍历set // for(let item of set1){ // console.log(item); // }

// forEach 遍历 // set1.forEach((value) =>{ // console.log(value); // })

// 将set转换为array const setArray = Array.from(set1); console.log(setArray);

## map /**

  • 数据结构: map
  • 键值对: 与对象不同的是键和值可以是任何类型 */

```javascript const map1 = new Map();

// 设置key键 const key1 = ‘some string’, key2 = {}, key3 = function(){};

// 为key设置value值 map1.set(key1,’Value of key1’); map1.set(key2,’Value of key2’); map1.set(key3,’Value of key3’);

// 根据key获取对应的value // console.log(map1.get(key1),map1.get(key2),map1.get(key3));

// 获取对应的value数量 // console.log(map1.size);

// for…of遍历map1中的key and value // for(let [key,value] of map1){ // console.log(${key} = ${value}); // }

// only key // for(let key of map1.keys()){ // console.log(key); // }

// only value // for(let value of map1.values()){ // console.log(value); // }

// forEach遍历map1 // map1.forEach((value,key) => { // console.log(${key} = ${value}); // })

// 将map1转化为正常的数组 // const keyValueArray = Array.from(map1); // console.log(keyValueArray);

// 将map1中的key转化为数组 // const keyArray = Array.from(map1.keys()); // console.log(keyArray);

// 将map1中的value值转换为数组 const valueArray = Array.from(map1.values()); console.log(valueArray);

Class

/**

  • Class
  • 万事皆对象 */

// function Car(options){ // this.title = options.title; // }

// Car.prototype.drive = function(){ // return “Vroom”; // }

// const car = new Car({title:”BMW”}); // // console.log(car); // // console.log(car.drive());

// // 继承 // function Toyota(options){ // Car.call(this,options); // this.color = options.color; // }

// Toyota.prototype = Object.create(Car.prototype); // Toyota.prototype.constructor = Toyota;

// const toyota = new Toyota({color:”red”,title:”Focus”}); // console.log(toyota); // console.log(toyota.drive());

// es6 class Car{ constructor({title}){ this.title = title; } drive(){ return ‘vroom’; } }

// const car = new Car({title:”BMW”}); // console.log(car); // console.log(car.drive());

class Toyota extends Car{ constructor(options){ super(options); this.color = options.color; } }

const toyota = new Toyota({color:”red”,title:”Focus”});

console.log(toyota); console.log(toyota.drive());