var、let、const的区别

一、相同点

       三者都可以声明变量

var a = 10;

let b = 20;

const c = 30;

console.log(a, b, c);

二、不同点

            let关键字声明变量

            1.不存在变量提升

            2.不允许重复声明

            3.块级作用域  花括号括起来里面let声明的变量

            4.暂时性死区:块级作用域中已经声明了,变量就睡绑定在这个区域

        // console.log(a1);//报错
        let a1 = 2222;

        let a2 = 2444;
        //var a2 = 33333;//报错

        {
            //在块级作用域声明的变量只能在声明内部使用
            let a3 = 66666;
            console.log(a3);//66666
        }
        // console.log(a3);//报错

        const关键字声明变量

        1.不存在变量提升

        // console.log(a1);//报错,在初始化之前不能使用变量
        const a1 = 2312;

        2.不允许重复声明 

        const a2 = 2123123;
        //var a2 = 1111;//报错   a2 已经被声明
        //let a2 = 1111;//报错   a2 已经被声明

        3.声明了变量必须赋值   变量必须初始化 

        // const a3 ;//报错

        4.const声明的变量存在块级作用域 

      {
            const a5 = 23422;
        }
        // console.log(a5);//报错

        5.暂时性死区 

        const a6 = 23222;
        {
            // console.log(a6);//报错 
            const a6 = 'heloos';
        }

        6.常量的值一旦确定就不能修

        const a7 = 10;
        // a7 = 20 ;//报错

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值