探索JavaScript基础:let,const,var的对比分析
发表时间: 2023-12-04 09:02
let、const、var都是用来声明变量的关键字,有些小伙伴初学可能分不清,本文为大家总结一下。
1. var声明的变量作用域是函数级别的,而let和const声明的变量作用域是块级别的。块级作用域指的是花括号{}中的区域,例如if语句、for循环、函数等。
2. var声明的变量可以被重复声明,而let和const声明的变量不允许重复声明。
3. var声明的变量可以被修改,而const声明的变量不允许被修改,let声明的变量可以被修改。
4. const声明的变量必须在声明时初始化,而let和var可以不初始化。
5. const声明的变量必须是常量,即不能被重新赋值,而let和var可以被重新赋值。
总结:let和const是ES6新增的声明变量的关键字,它们的作用域是块级的,不允许重复声明,const声明的变量不能被修改,必须在声明时初始化。var是ES5中声明变量的关键字,作用域是函数级的,允许重复声明,可以被修改。
代码示例:
function varExample() { if (true) { var x = 10; console.log(x); // 10 } console.log(x); // 10}varExample();console.log(x); // 10
function letExample() { if (true) { let y = 20; console.log(y); // 20 } // console.log(y); // Uncaught ReferenceError: y is not defined}letExample();// console.log(y); // Uncaught ReferenceError: y is not defined
function constExample() { const z = 30; // z = 40; // Uncaught TypeError: Assignment to constant variable. console.log(z); // 30}constExample();// console.log(z); // Uncaught ReferenceError: z is not defined
Hi,我是贝格前端工场,10年前端和UI老司机了,持续为大家分享有价值、有见地的观点、作品、干货,欢迎评论、关注、点赞、有事请私信。