javascript的let和const是什么_它们与var有何不同?

admin 百科 12
let 和 const 是 ES6 引入的块级作用域变量声明方式,区别于 var 的函数作用域;它们不具变量提升安全性(处于暂时性死区),禁止重复声明,且 const 必须初始化、不可重新赋值(但对象属性可变);推荐默认使用 const,需重赋值时用 let,基本不再使用 var。

javascript的let和const是什么_它们与var有何不同?-第1张图片-佛山资讯网

let 和 const 是 ES6(2015)引入的变量声明方式,用来替代容易出错的 var。它们的核心区别集中在作用域、提升行为、重复声明和可修改性这四点上。

作用域:块级 vs 函数级

var 声明的变量只有函数作用域(或全局作用域),哪怕写在 if 或 for 里,也能在块外访问:

例如:
if (true) { var x = 1; } console.log(x); // 1 —— 正常输出

let 和 const 是块级作用域,只在 {} 内有效:

例如:
if (true) { let y = 2; } console.log(y); // ReferenceError

这意味着循环中用 let 声明计数器不会泄露到外部,也避免了内层覆盖外层同名变量的问题。

立即学习“Java免费学习笔记(深入)”;

变量提升:undefined vs 报错

var 会“提升”声明(但不提升赋值),所以能在声明前读取,值为 undefined

console.log(a); // undefined<br>var a = 1;

登录后复制

let 和 const 虽然声明也会被提升,但处于“暂时性死区”(TDZ)——在声明语句执行前访问会直接报 ReferenceError

console.log(b); // ReferenceError<br>let b = 2;

登录后复制

这种设计强制开发者按顺序写代码,减少因提升导致的逻辑错误。

标签: javascript es6 java vite 浏览器 工具 区别 作用域 red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~