[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 不是