1. [let和const两个关键字与var之间有哪些不同?](https://github.com/pwstrick/daily/issues/102) 2. [请说明一下const的特点。](https://github.com/pwstrick/daily/issues/103) 3. [扩展运算符(...)的用途有哪些?](https://github.com/pwstrick/daily/issues/104) 4. [剩余参数有什么作用?](https://github.com/pwstrick/daily/issues/105) 5. [什么是解构?](https://github.com/pwstrick/daily/issues/106) 6. [如果忽略声明关键字,那么在运行对象解构的时候,为何要用圆括号包裹赋值表达式(如下所示)?](https://github.com/pwstrick/daily/issues/107) ```javascript ({ a, b } = { a: 3, b: 4 }); ``` 7. [如何利用数组解构交换变量?](https://github.com/pwstrick/daily/issues/108) 8. [执行[, , z] = [1, 2, 3]后,z的值为__________。](https://github.com/pwstrick/daily/issues/109) 9. [执行[x, ...y] = [1, 2, 3]后,x的值为__________,y的值为__________。](https://github.com/pwstrick/daily/issues/110) 10. [执行({ a: e, a: f } = { b: 5, a: 6 })后,e的值为__________,f的值为__________。](https://github.com/pwstrick/daily/issues/111) 11. [执行({ a, b=2 } = { a: 1, b: null })后,b的值为__________。](https://github.com/pwstrick/daily/issues/112) 12. [什么是模板字面量?](https://github.com/pwstrick/daily/issues/113) 13. [模板字面量有哪些局限?](https://github.com/pwstrick/daily/issues/114) 14. [ES6是否扩展了对象字面量中的属性名?](https://github.com/pwstrick/daily/issues/115) 15. [请谈谈你对Symbol的理解。](https://github.com/pwstrick/daily/issues/116) 16. [如何理解内置符号?](https://github.com/pwstrick/daily/issues/117) 17. [[...[..."..."]].length返回的结果为__________。](https://github.com/pwstrick/daily/issues/118) 18. [如何导出模块的成员?](https://github.com/pwstrick/daily/issues/119) 19. [如何导入模块的成员?](https://github.com/pwstrick/daily/issues/120) 20. [模块的默认值是指什么?](https://github.com/pwstrick/daily/issues/121) 21. [代码模块化有哪些限制?](https://github.com/pwstrick/daily/issues/122) 22. [Number.isFinite(null)返回的结果为__________。](https://github.com/pwstrick/daily/issues/123) 23. [请谈谈你对Unicode的理解。](https://github.com/pwstrick/daily/issues/124) 24. [什么叫Unicode标准化?](https://github.com/pwstrick/daily/issues/125) 25. ["My name is strick".includes("name")返回的结果为__________。](https://github.com/pwstrick/daily/issues/126) 26. [正则表达式的u标志有什么作用?](https://github.com/pwstrick/daily/issues/127) 27. [正则表达式的y标志有什么作用?](https://github.com/pwstrick/daily/issues/128) 28. [如何判断一个字符是由两个编码单元组成的?](https://github.com/pwstrick/daily/issues/129) 29. [Object.is()有什么功能?](https://github.com/pwstrick/daily/issues/130) 30. [如何使用Object.assign()?](https://github.com/pwstrick/daily/issues/131) 31. [在ES6中,自有属性的枚举顺序是怎样的?](https://github.com/pwstrick/daily/issues/132) 32. [Array.of()有什么作用?](https://github.com/pwstrick/daily/issues/133) 33. [使用fill()和copyWithin()需要的注意点有哪些?](https://github.com/pwstrick/daily/issues/134) 34. [find()和indexOf()有哪些区别?](https://github.com/pwstrick/daily/issues/135) 35. [什么是类型化数组?](https://github.com/pwstrick/daily/issues/136) 36. [类型化数组与常规数组有哪些异同?](https://github.com/pwstrick/daily/issues/137) 37. [如何使用DataView?](https://github.com/pwstrick/daily/issues/138) 38. [ES6为函数做了哪些改良?](https://github.com/pwstrick/daily/issues/139) 39. [函数的length属性有什么作用?](https://github.com/pwstrick/daily/issues/140) 40. [什么是块级函数?](https://github.com/pwstrick/daily/issues/141) 41. [new.target是由ES6引入的一个元属性,它有何用途?](https://github.com/pwstrick/daily/issues/142) 42. [箭头函数有哪些注意点?](https://github.com/pwstrick/daily/issues/143) 43. [箭头函数中的this指向哪里?](https://github.com/pwstrick/daily/issues/144) 44. [如何理解尾调用优化?](https://github.com/pwstrick/daily/issues/145) 45. [WeakSet和Set有哪些差异?](https://github.com/pwstrick/daily/issues/146) 46. [如何理解ES6新增的数据结构Map?](https://github.com/pwstrick/daily/issues/147) 47. [什么是迭代器?](https://github.com/pwstrick/daily/issues/148) 48. [什么样的对象是可迭代的?](https://github.com/pwstrick/daily/issues/149) 49. [如何使用for-of循环?](https://github.com/pwstrick/daily/issues/150) 50. [function*用来做什么?](https://github.com/pwstrick/daily/issues/151) 51. [yield关键字有什么作用?](https://github.com/pwstrick/daily/issues/152) 52. [如何通过生成器实现异步编程?](https://github.com/pwstrick/daily/issues/153) 53. [ES6的类比起用构造函数模拟的类,有哪些独有的特性?](https://github.com/pwstrick/daily/issues/154) 54. [类有哪些成员?](https://github.com/pwstrick/daily/issues/155) 55. [当super作为方法使用时,有哪些注意点?](https://github.com/pwstrick/daily/issues/156) 56. [怎么实现类的继承?](https://github.com/pwstrick/daily/issues/157) 57. [怎么理解Symbol.species?](https://github.com/pwstrick/daily/issues/158) 58. [什么是Promise?](https://github.com/pwstrick/daily/issues/159) 59. [Promise包含几种状态?](https://github.com/pwstrick/daily/issues/160) 60. [如何理解thenable?](https://github.com/pwstrick/daily/issues/161) 61. [Promise.resolve()有什么作用?](https://github.com/pwstrick/daily/issues/162) 62. [什么是代理?](https://github.com/pwstrick/daily/issues/163) 63. [什么是反射?它有什么用途?](https://github.com/pwstrick/daily/issues/164) 64. [执行[1, 2, 3, 4, 5].copyWithin(3, 2)得到的数组为__________。](https://github.com/pwstrick/daily/issues/165) 65. [如何将Map转换成数组?](https://github.com/pwstrick/daily/issues/166) 66. [yield和return有哪些区别?](https://github.com/pwstrick/daily/issues/167) 67. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/728) ```javascript function sayHi() { console.log(name); console.log(age); var name = "Lydia"; let age = 21; } sayHi(); ``` 68. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/730) ```javascript const shape = { radius: 10, diameter() { return this.radius * 2 }, perimeter: () => 2 * Math.PI * this.radius } shape.diameter() shape.perimeter() ``` 69. [哪个选项是不正确的?](https://github.com/pwstrick/daily/issues/731) ```javascript const bird = { size: "small" }; const mouse = { name: "Mickey", small: true }; ``` A: mouse.bird.size B: mouse[bird.size] C: mouse[bird["size"]] D: All of them are valid 70. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/732) ```javascript let c = { greeting: "Hey!" }; let d; d = c; c.greeting = "Hello"; console.log(d.greeting); ``` 71. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/733) ```javascript let a = 3; let b = new Number(3); let c = 3; console.log(a == b); console.log(a === b); console.log(b === c); ``` 72. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/734) ```javascript class Chameleon { static colorChange(newColor) { this.newColor = newColor; } constructor({ newColor = "green" } = {}) { this.newColor = newColor; } } const freddie = new Chameleon({ newColor: "purple" }); freddie.colorChange("orange"); ``` 73. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/735) ```javascript let greeting; greetign = {}; console.log(greetign); ``` 74. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/736) ```javascript function Person(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } const member = new Person("Lydia", "Hallie"); Person.getFullName = () => this.firstName + this.lastName; console.log(member.getFullName()); ``` 75. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/742) ```javascript function getPersonInfo(one, two, three) { console.log(one); console.log(two); console.log(three); } const person = "Lydia"; const age = 21; getPersonInfo`${person} is ${age} years old`; ``` 76. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/744) ```javascript function getAge(...args) { console.log(typeof args); } getAge(21); ``` 77. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/747) ```javascript const obj = { 1: "a", 2: "b", 3: "c" }; const set = new Set([1, 2, 3, 4, 5]); obj.hasOwnProperty("1"); obj.hasOwnProperty(1); set.has("1"); set.has(1); ``` 78. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/748) ```javascript const obj = { a: "one", b: "two", a: "three" }; console.log(obj); ``` 79. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/750) ```javascript for (let i = 1; i < 5; i++) { if (i === 3) continue; console.log(i); } ``` 80. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/751) ```javascript String.prototype.giveLydiaPizza = () => { return "Just give Lydia pizza already!"; }; const name = "Lydia"; name.giveLydiaPizza(); ``` 81. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/752) ```javascript const foo = () => console.log("First"); const bar = () => setTimeout(() => console.log("Second")); const baz = () => console.log("Third"); bar(); foo(); baz(); ``` 82. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/755) ```javascript const person = { name: "Lydia" }; function sayHi(age) { console.log(`${this.name} is ${age}`); } sayHi.call(person, 21); sayHi.bind(person, 21); ``` 83. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/756) ```javascript function sayHi() { return (() => 0)(); } typeof sayHi(); ``` 84. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/758) ```javascript const numbers = [1, 2, 3]; numbers[10] = 11; console.log(numbers); ``` 85. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/759) ```javascript (() => { let x, y; try { throw new Error(); } catch (x) { (x = 1), (y = 2); console.log(x); } console.log(x); console.log(y); })(); ``` 86. [下面代码的输出是什么?](https://github.com/pwstrick/daily/issues/760) ```javascript [[0, 1], [2, 3]].reduce( (acc, cur) => { return acc.concat(cur); }, [1, 2] ); ``` 87. [如何实现Promise?](https://github.com/pwstrick/daily/issues/782) 88. [箭头函数和普通函数有什么区别?](https://github.com/pwstrick/daily/issues/805) 89. [async/await的原理是什么?](https://github.com/pwstrick/daily/issues/980) ## 思维导图 ![ES6](https://github.com/pwstrick/daily/blob/master/assets/img/mind/ES6.png) 参考资料:[ES6躬行记](https://www.kancloud.cn/pwstrick/fe-questions/1094971)