zoukankan      html  css  js  c++  java
  • ES6知识点整理之----解构赋值----数组

    1、概念:按照一定的模式,从数组和对象中提取值,对变量进行赋值,被称为解构

    2、只要某种数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值。

    3、数组的解构赋值:如果解构不成功,变量的值就等于undefined

        //完全解构:
        let [a, b, c] = [1, 2, 3];
        let [ , , third] = ["foo", "bar", "baz"];
        let [x, , y] = [1, 2, 3];
        let [head, ...tail] = [1, 2, 3, 4];
        let [x, y, ...z] = ['a'];
         
        //不完全解构:
        let [x, y] = [1, 2, 3];
        let [a, [b], d] = [1, [2, 3], 4];

    4、对于 Set 结构,也可以使用数组的解构赋值。

    let [x, y, z] = new Set(['a', 'b', 'c']);

    5、解构赋值允许指定默认值。ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。

        let [foo = true] = [];//foo=true 
        let [x, y = 'b'] = ['a']; // x='a', y='b' 
        let [x, y = 'b'] = ['a', undefined]; // x='a', y='b'

    6、默认值可以引用解构赋值的其他变量,但该变量必须已经声明。

        let [x = 1, y = x] = []; // x=1; y=1 
        let [x = 1, y = x] = [2]; // x=2; y=2 
        let [x = 1, y = x] = [1, 2]; // x=1; y=2 
        let [x = y, y = 1] = []; // ReferenceError: y is not defined
  • 相关阅读:
    文件比较运算符
    中山慧海人才市场9月份 现场招聘会预告
    80后智能科技公司诚聘业务人员
    元豪路灯厂诚聘
    对Discuz的简单认识
    discuz阅读权限的设置作用
    个人对织梦系统的认识
    awvs的用法
    cain使用方法
    CCNA笔记(1)
  • 原文地址:https://www.cnblogs.com/adhehe/p/9640950.html
Copyright © 2011-2022 走看看