Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
ES6篇 场景题2024 PDF 下载
匿名网友发布于:2024-09-24 09:59:06
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

ES6篇 场景题2024 PDF 下载 图·1

 

 

资料内容:

 

1.解释ES6引⼊的 let const var 的区别
ES6(ECMAScript 2015)引⼊了 let const 这两个新的关键字来声明变量,与之前的 var 关键
字相⽐,它们提供了更严格的作⽤域规则和块级作⽤域。以下是 let const var 之间的主要
区别:
1. 块级作⽤域:
var 声明的变量具有函数作⽤域或全局作⽤域,不具备块级作⽤域(即⼀对花括号 {}
部)。
let const 声明的变量具有块级作⽤域,这意味着它们只在其声明的代码块内可⽤。
2. 变量提升(Hoisting):
使⽤ var 声明的变量存在变量提升(hoisting)现象,即变量声明会被提升到其所在作⽤域的
顶部。但变量的赋值仍然保留在原来的位置。
let const 声明的变量不存在变量提升,这意味着在声明之前访问这些变量会抛出
ReferenceError
3. 暂时性死区(Temporal Dead Zone, TDZ):
let const 声明的变量被初始化之前的区域被称为暂时性死区。尝试在暂时性死区内访
问这些变量会抛出 ReferenceError
4. 重新声明:
使⽤ var 可以在同⼀作⽤域内多次声明同⼀个变量,⽽不会报错,但这样做会导致混淆和不可
预期的结果。
let const 不允许在同⼀作⽤域内重复声明同⼀个变量,否则会抛出 SyntaxError
5. 常量声明:
var let 都可以声明可变的变量。
const ⽤于声明⼀个常量,其值在初始化后不能被重新赋值。但需要注意的是, const 声明
的变量指向的内存地址是不可变的,但如果该变量引⽤的是⼀个对象或数组,对象或数组内部
的值是可以改变的。
6. 全局作⽤域中的声明:
在全局作⽤域中使⽤ var 声明的变量会成为全局对象的属性(在浏览器中是 window
象)。
使⽤ let const 在全局作⽤域中声明的变量不会成为全局对象的属性,它们只存在于全局
作⽤域中。
通过引⼊ let const ,ES6为JavaScript提供了更清晰的作⽤域规则和更安全的变量声明⽅式,
有助于减少因变量提升和全局变量污染导致的错误。