30分钟学会ES6 (一)

本文是30分钟学会ES6系列的第一部分,主要讲解let、const、变量解构赋值、template string、箭头函数等ES6的关键特性。let和const解决了var的某些问题,提供了更精细的作用域控制;变量解构赋值简化了多值接收;template string提供了方便的字符串模板功能;箭头函数简化了函数定义;此外还介绍了Set和Map数据结构的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES6学习系列重点针对ES6中新增特性进行学习,分为两个章节:

30分钟学会ES6 (一)

let,const

let和const都是用于定义变量/常量,与以前的var类似,但是在特性上有区别,解决了var之前的一些问题。

let

  • 通过let修饰的变量只能在所在块区域中生效,而var在块外也可生效。

    • var关键字定义的变量
    {
          
          
      	var a = 10;
    }
    console.log(a); //10
    
    • let关键字定义的变量,只在对应块内生效,不会到块外面,也不会影响子块。
    {
          
          
        let b = "hello";
        console.log(b);//hello
    }
    console.log(b);//undefined
    
  • 通过let定义的变量可以防止循环变量延申到外部。

    • var关键词定义的循环变量

    for(var i = 0;i<2;i++){
    console.log(i);
    };
    console.log(“i=”+i); //i=2

    
    - `let`关键词定义的循环变量
    
    从下面也可以看出,**通过`let`修饰的循环变量与块结构内的let定义的变量作用域不同** 。
    
    ```javascript
    for(let i = 0;i<2;i++){
      let i = "hello";
      console.log(i); //abc
    }
    console.log(i);//Uncaught ReferenceError: i is not defined
    
  • 同一个块结构中不能出现两次同名的let定义的变量

    • var关键词定义的同名变量
    {
          
          
        var i = 10;
        var i = 11;
        console.log("i="+i); //i=11
    }
    
    • let关键词定义的同名变量
    {
          
          
        let i = 10;
        let i = 11;
        console.log("i="+i); //Identifier 'i' has already been declared
    }
    

const

const用于定义常量,作用域和let相同,也只会在所在块结构内部生效。

const定义的变量是指向内存地址,所以不可变的是内存地址,而不是值。也就是说变量不能重新定义新的对象,但是可以修改对应的值。

  • const常量作用域在块内。
{
    
    
    const a = 10;
    console.log(a); //10
}
console.log(a); //a is not defined
  • const常量不可新建对象,但是可以修改值。
const a = [];
a = [10];//Assignment to constant variable.
a.push(10);
console.log(a);//[10]

变量解构赋值

可以同时定义多个变量,例如函数同时返回多个值(类似于java的tuple)。这种情况下只要左右参数和值对应即可,通过数组方式定义。

  • 解构数组

  • 设置默认值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值