[TOC]
[**let 和const ,const 可以改變嗎?**]()
`都是塊級作用域,const 定義的基本類型不能改變 定義的引用類型的屬性可以改變`
[**箭頭函數和普通函數有什么區別?**]()
~~~jsx
1. 箭頭函數不能當成構造函數,不能New
2. 箭頭函數沒有原型屬性
3. 箭頭函數沒有arguments
4. 箭頭函數沒有this 會捕捉所在位置的上下文作的this值 作為自己的this
5. 不能當作Generator函數 不能使用yield 關鍵字
~~~
[**箭頭函數能用call apply bind嗎 為什么?**]()
`能用,但是沒有作用,因為箭頭函數中的this指向的是函數外最近的那個this 所有apply call 不會起作用`
[**Map和weakMap有什么區別?**]()
* map 的key 可以是任意類型,weakMap 的key 只能是對象
* weakMap 沒有size 屬性
* weakMap 的key是弱引用類型 ,鍵所指向的對象可以被垃圾回收
* Map 可以被遍歷, WeakMap 不能被遍歷
[**Map和Object有什么區別?**]()
* map 有size 屬性
* map 可以用for of 遍歷 object 不行
* map 的key 可以是任意類型,object 只能是基本類型
* map key 是有序的 object 不是