JS中const,var和let的区别

在JavaScript中声明变量时,有三个关键字:constvarlet,各有不同的特点。现将其整理,供参考学习。

const 关键字:

常量声明

  • 使用 const 声明的变量是常量,一旦赋值就不能再改变。
const PI = 3.14;
// PI = 3.14159; // 这行代码会报错,因为常量不能被重新赋值

块级作用域

  • const 同时也遵循块级作用域的规则。
if (true) {
  const name = 'Alice';
  console.log(name); // 在这个块内,可以访问name
}
// console.log(name); // 这行代码会报错,因为name在这里不可见

let 关键字:

变量声明

  • 使用 let 声明的变量是可以修改的。
let count = 10;
count = count + 1; // 可以重新赋值

块级作用域

  • 同样遵循块级作用域规则。
if (true) {
  let age = 30;
  console.log(age); // 在这个块内,可以访问age
}
// console.log(age); // 这行代码会报错,因为age在这里不可见

var 关键字:

变量声明

  • 使用 var 声明的变量存在变量提升,可以在声明之前使用。
console.log(score); // undefined,因为变量提升,但未赋值
var score = 80;

函数作用域

  • var 声明的变量只有全局作用域和函数作用域,没有块级作用域。
if (true) {
  var city = 'New York';
  console.log(city); // 可以在块内部访问var声明的变量
}
console.log(city); // 'New York',var声明的变量在外部依然可见

总结:

  • const 用于声明常量一旦赋值就不能修改,而且也需要在声明时就初始化它的值。
  • let 用于声明可变的变量允许重新赋值,也需要在声明时初始化它的值。
  • var 旧版本JavaScript中使用的变量声明方式,存在变量提升,且没有块级作用域的概念,容易造成变量污染和意外的全局变量声明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值