JavaScript进阶--ES6新特性

目录

let声明变量:

const声明变量:

解构赋值:

模板字符串:

对象简化写法:

箭头函数:

参数默认值:

rest参数:

扩展运算符:

Symbol数据类型:

 迭代器(iterator):

生成器:

Promise:

Set:

Map:

class的get()、set()方法:

第一次写那么多,脑壳疼

最后一句,新冠赶紧死,我想回学校!


let声明变量:

  1. 变量不能重复声明,有效防止变量污染
  2. 作用域为块级作用域,只在代码块中有效,如
    if (true) {
        var a = 10;
        let b = 20;
    }
    console.log(a);
    console.log(b);

                             

  3. 不支持变量提升,即不允许在变量声明前使用变量(用var变量提升的值为undefined)

  4. 不影响作用域链,通俗说就是块级作用域1中的块级作用域2可以访问块级作用域1中的let变量。即函数内仍可以使用全局的let变量。

const声明变量:

  1. 一定要赋初始值
  2. 一般来说命名使用大写字母
  3. const常量的值不可修改
  4. 作用于块级作用域,与let一样
  5. 允许对const数组、对象里面的元素进行修改(常量不可修改的本质为指向的地址不可改变)

解构赋值:

  • 数组的解构:将数组元素拆分赋值给不同的变量
    const T = [1, 2, 5, 4];
    let [a, b, c, d] = T;

    此时a,b,c,d变量分别为1,2,3,4。数量不匹配时超出的部分为undefined。

  • 对象的解构:将对象元素拆分赋值给不同的变量

    const data = {
        name: "baciii",
        age: 20,
        say: function() {
            console.log('say');
        }
    };
    let {
        name,
        age,
        say
    } = data;

    与数组解构的区别,此时被赋值的变量名必须与对象的元素名一致,顺序可以颠倒。

模板字符串:

        声明方式:`str`(双反引号)

        特性:1.双反括号内可以出现换行(回车换行)

let str1 = `123
123
123`;

                  2.可以进行变量拼接

let name='Baciii';
let p=`Iam${name}`;

对象简化写法:

  1. 允许直接在大括号内写入已声明的变量和函数作为对象的属性和方法
let name = "baciii";
let age = 20;
var data = {
    name,
    age,
}

     2. 方法声明简化,不需要写function直接声明

var data = {
    say() {
        console.log('say');
    }
}

箭头函数:

        语法:

let fn=(a,b,c)=>{xxx}

        特性:

  1. 箭头函数的this始终是静态的,this始终指向函数声明是所在的作用域,并且不能被call()、bind()等改变this指向。
  2. 箭头函数不能作为构造函数实例化对象,原因是this的指向不会改变。
  3. 不能使用arguments()属性获取函数传递的实参。
  4. 缩写形式:当形参有且只有一个时,可以省略括号;当函数体只有一句时,可以省略花括号,且函数的返回值为该语句的执行结果。
    let pow=n =>n*n;

参数默认值:

        允许在声明函数时给参数赋默认值,若不传递参数时则使用该默认值。

function fn(a=10,b=20,c=30){
    console.log(a,b,c);
}

rest参数:

        获取函数的实参,代替arguments。返回值为一个数组。 

        语法:...args(三个点)

function fn(a, b, ...args) {
    console.log(args);//[3,4,5,6]
    console.log(arguments);//{1,2,3,4,5,6}
}
fn(1, 2, 3, 4, 5, 6);

         args返回的是一个数组,arguments返回的是一个对象。rest参数必须放在形参的最后一个。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值