let、var和const的区别

本文介绍了ES6中var、let和const三种变量声明方式的区别,强调了let作为var的改进,解决了作用域问题。const用于声明常量,具有块级作用域且不允许重新赋值。同时,讨论了变量提升的概念和let与const的初始化特性。
摘要由CSDN通过智能技术生成

var

在 ES6 出现之前,var声明占主导地位。但是,使用 var 声明的变量存在一些问题。这就是为什么有必要出现新的声明变量的方法。

let

let 现在是变量声明的首选。这并不奇怪,因为它是对 var 声明的改进。它还解决了我们刚刚介绍的 var 的问题。。

const

let不同的是const代表的是常量

  • 作用域

    作用域(scope)意味着这些变量可以在哪里使用。var 声明的作用域是全局的或函数/局部的。

    var 变量在函数外部声明时,作用域是全局的。这意味着在函数体外用 var 声明的任何变量都可以在整个窗口中使用。

    var 在函数中声明时,它的作用域是在函数体内。这意味着它只能在该函数中被访问。

    在带有 let 的块中声明的变量只能在该块中使用

    带有const的块是常量,与let作用域相同

  • 重复声明

    var 可以更新也可以重复声明

    let 可以更新但不能重复声明

    const 不可以更新也不可以重复声明,只有当其为对象时,可以修改对象里面的值,因为其不改变所指向的地址

  • 变量提升

    var其中变量和函数声明在代码执行之前被移动到其作用域的顶部

    let就像 var 一样,let 声明被提升到顶部。与初始化为 undefinedvar 不同,let 关键字未初始化。所以如果你在声明之前尝试使用 let 变量,你会得到一个 Reference Error

    constlet不同的是const声明必须初始化

    var a
    
    let a
    
    const c=5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值