JavaScript中变量声明用let、const、var,核心区别在于:let/const为块级作用域且有暂时性死区,var为函数作用域并提升初始化为undefined;let不可重复声明,const不可重复声明且必须初始化、不可重新赋值;推荐默认用const,需重赋值时用let,避免使用var。

JavaScript 中声明变量主要用 let、const 和 var,它们的核心区别在于作用域、变量提升(hoisting)、重复声明规则以及是否可重新赋值。
let 和 const 是块级作用域(block-scoped),只在 {} 内有效,比如 if 语句、for 循环或任意代码块中定义,外部无法访问。
var 是函数作用域(function-scoped),在函数内声明时,整个函数都可访问;若在函数外声明,则是全局作用域。
例如:
立即学习“Java免费学习笔记(深入)”;
if (true) {
let x = 1;
var y = 2;
}
console.log(x); // ReferenceError
console.log(y); // 2(var 被提升并初始化为 undefined)
var 会被“提升”到作用域顶部,并初始化为 undefined,所以可以先使用后声明(但不推荐)。
let 和 const 也会被提升,但不会初始化,从声明前到声明行之间存在“暂时性死区”(Temporal Dead Zone, TDZ),此时访问会报 ReferenceError。
例如:
立即学习“Java免费学习笔记(深入)”;
console.log(a); // undefined
console.log(b); // ReferenceError
var a = 1;
let b = 2;
SyntaxError)例如:
立即学习“Java免费学习笔记(深入)”;
var a = 1;
var a = 2; // OK
let b = 1;
let b = 2; // SyntaxError
const c = [];
c.push(1); // OK,修改内容
c = [2]; // TypeError:不能重新赋值
现代 JavaScript 开发中,const 和 let 已成为标准,理解它们的差异能帮你写出更可靠、易维护的代码。
以上就是javascript变量如何声明_let、const和var有什么区别?的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号