var、let和const的区别?如果希望const定义的对象的属性也不能被修改该怎么做?
- var声明的变量会绑定到window对象中,而let和const声明的变量不会
- var声明的变量只有全局和函数作用域,而let和const声明的变量具有块级作用域
- var声明的变量可以提前访问,而let和const声明的变量不能提前访问(暂时性死区)
- var声明的变量可以重复声明,而let和const声明的变量不能重复声明
- const声明的基础类型不可修改,使用const声明的变量必须同时进行初始化,const声明的引用类型只能修改该引用类型的属性而不能给该变量重新赋值
可以通过Object.defineProperty设置writerable:false
或Object.freeze()
Map和Set的区别,Map和Object的区别
数组的filter、every、flat的作用是什么
es6有哪些新特性
对Promise的了解
手写promise实现 async await Promise
箭头函数和普通函数的区别
- 声明方式不同,匿名函数
- this指向不同
- 箭头函数的this永远不会变,call、apply、bind也无法改变
- 箭头函数没有原型prototype
- 箭头函数不能当成一个构造函数