let、const、var定义变量的区别

一、作用域

  let:没有变量提升,且定义的变量只在let命令所在的代码块中生效,在定义之前使用,会报错

  const:同let

  var:变量会被提升,在全局范围内都有效,且可在变量定义之前使用

二、重复声明

  let:在同一作用域内,不允许重复声明同一个变量

  const:同let

  var:允许重复声明

三、赋值

  let:可以只声明,不赋值

  const:只能定义一个只读的常量,定义后不能再改变,不允许只声明不赋值。需要注意的是,对于对象、数组等数据类型,const定义保存的只是数据的指针,所以数据结构是可变的。

  var:同let

四、适用场景

  1、为了安全,大部分情况下var都可以用let替代,尤其是for循环中定义循环变量,使用let可以避免变量污染

  2、定义常量用const

  3、有些老版本的浏览器还不兼容let和const,只能用var。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值