简述 var,let,const变量

最近在自学ES6部分,就想对var,let,const三个变量进行一个总结。 如下

var变量

var变量的特点
1.var变量不会创建块级作用域
2.var变量具有变量提升的情况

let变量

let是镜像于var的语法,var怎么用,let就怎么用。 二者的区别主要在于
1.var是有变量提升  let 没有

  // console.log(a); // undefined
        // console.log(b); // Cannot access 'b' before initialization
        var a = 1;
        let b = 2;

2.var 变量可以声明多次,但let变量只能声明一次

   var a = 1;
        let b = 2;
        // var变量可以声明多次,但let只能声明一次
        var a = 100;
     //   let b = 3;   //Identifier 'b' has already been declared

3.let会创建块级作用域,并且let的主要作用并不是创建变量 而是创建块级作用域 将变量限定
   在一个{ } 中 如下
   

 let (b) {

        } //  示意代码  这是一个未被标准化的操作

针对let变量的特性,建议在代码开头的位置 声明let变量

const变量

es6中除了let以外,还可以使用const创建块级作用域,它与let的区别在于 const可以创建 不可修改的常量

1.const 所对应的常量不可修改
 

const PI =3.14;

//常量不可修改

 PI = 3.1415926 //  //  Assignment to constant variable.

2.在js中的常量和其他语言的常量并不太一样,js中的常量限定的是变量指向,而不是指向的值。
   拿引用数据类型来说

const arr = [1,2,3];
arr[0] = 'a';   // 这里0下标储存的值被成功的修改了

console.log(arr);  // ['a',2,3]


// 将arr变量指向新的地址

const arr = 1000;   // Assignment to constant variable. 这是const所不允许的

鉴于const变量的特性,对于所有的引用数据类型都可以使用const声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值