ES6 高频面试题及详细答案(实战版).docxVIP

  • 1
  • 0
  • 约5.05千字
  • 约 8页
  • 2026-08-23 发布于河北
  • 举报

ES6 高频面试题及详细答案(实战版).docx

ES6高频面试题及详细答案(实战版)

一、基础变量声明考点

1、var、let、const的区别?

参考答案:

三者核心差异集中在作用域、变量提升、重复声明、赋值特性四个方面:

1.作用域:var是函数作用域,let、const是块级作用域({}、if、for内部均为独立块级作用域);

2.变量提升:var存在变量提升,声明前调用值为undefined;let、const存在暂时性死区,声明前无法调用,直接报错;

3.重复声明:var允许重复声明变量;let、const同一作用域内禁止重复声明;

4.赋值规则:var、let可重复赋值;const声明后不可修改指针(基础类型值不可改,引用类型内部属性可改);

5.初始值:var、let可只声明不赋值;const必须声明时初始化赋值。

实战总结:开发中优先使用const,后续需要修改变量值再改用let,彻底摒弃var。

2、什么是暂时性死区?

参考答案:

ES6规定,块级作用域内,变量通过let、const声明时,从代码块开始到变量声明语句执行前,该变量处于不可访问的状态,这个区间就是暂时性死区。

核心目的:杜绝变量提升带来的诡异报错,保证变量先声明、后使用的规范。

示例:

PlainText

console.log(a)//报错:Cannotaccessabefore

文档评论(0)

1亿VIP精品文档

相关文档