- JS 基础 / 进阶相关
- HTML / CSS 相关
- 浏览器 / 性能优化 / 工程相关
- 框架使用相关,也就是基础问题
- 框架原理相关。
- 计科相关,比如算法 / 数据结构 / 网络,基本这三样,最多加个操作系统
介绍一下ES6的新特性
const、let和var的区别
let声明的变量只在let所在的代码块中有效,具有块级作用域,不存在变量提升。只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响(暂时性死区)。let不允许重复声明变量。
var声明的变量在全局都是有效的,会变量提升。
const声明一个只读的常量。一旦声明,常量的值就不能改变,const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const命令声明的常量也是不提升,同样存在暂时性死区。与let相同,不可以重复声明相同的变量。for循环的特别之处
for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。垫片是什么意思
通俗来讲,JS垫片就是,在低级环境中用高级语法时,在低级环境中手动实现的高级功能,模拟高级环境。模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。箭头函数