ES6中变量的使用及结构赋值

目录

一、变量的使用

 一、let变量

1.  let声明的变量具有块级作用域

2.  for循环使用let变量

3.  不存在变量提升

4.  暂时性死区 

5.  不允许重复声明

6.  let案例

7.  let总结

 二、 const变量

1.const关键字声明的的变量具有块级作用域

2. const 声明常量必须赋值,常量赋值不能修改

三、  let、const、var 的区别

二、解构赋值 

 1.数组的解构赋值

 2. 对象结构 

3. 结构函数 

4. 案例:交换两个变量的值


一、变量的使用

 ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const

 这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。

在 ES2015 之前,JavaScript 只有两种类型的作用域:全局作用域 和 函数作用域

 一、let变量

1.  let声明的变量具有块级作用域

      可以使用 let 关键词声明拥有块作用域的变量。在块 { } 内声明的变量无法从块外访问

        let a=1;
        if(true){
            let b=2;
            console.log(a);  //1
            console.log(b);  //2
        }
        console.log(a);  //1
        console.log(b);  //Uncaught ReferenceError: b is not defined

注意:使用 let 关键字声明的变量才具有块级作用域,使用 var 声明的变量不具备块级作用域特性。

2.  for循环使用let变量

 防止循环变量变成全局变量

for(let i=0;i<3;i++){
     console.log(i);  //2
}
console.log(i);  //未定义,相当于在for前面定义了一个全局变量let i;

3.  不存在变量提升

var 变量 可以在变量声明前使用,多少有点奇怪,为了纠正这个现象,let改变了这个语法。 

console.log(i);//报错 程序是一步步往下执行,此相当于在前面定义了一个变量let i;
let i=2;
console.log(i);

注意所有变量都要先声明,再使用

4.  暂时性死区 

 用let声明的变量需要先声明后使用

只要块级作用域内存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。

var i=1;
if(true){
    i=2;
    let i=3;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值