es6常见面试题

1.map 与 set

// 例一 set
var set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]

var s = new Set();

[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));

for (let i of s) {
  console.log(i);
}
// 2 3 5 4

//map
var m = new Map();
var o = {p: "Hello World"};

m.set(o, "content")
m.get(o) // "content"

m.has(o) // true
m.delete(o) // true
m.has(o) // false

2.解构赋值

// 例一  数组
let arr = [ "john", "lily" ]
let [ first, second ] = arr
console.log(first, second) // john   lily
// 例二 字符串
 let str = "asdalsdaksdadsa";
 let arr = [...str];
console.log(arr);//Array [ "a", "s", "d", "a", "l", "s", "d", "a", "k", "s", … ]
let [a, b, c] = "abc"; // ["a", "b", "c"];
let [a,b,c] = 'abcaskjdl'//["a", "b", "c"];
//例三  对象
let options = {
  title: "Menu",
  width: 100,
  height: 200
}

let { width, title, height } = options // 改变左边顺序也不会影响

console.log(title);  // Menu
console.log(width);  // 100
console.log(height); // 200


你可能感兴趣的:(javascript)