zoukankan      html  css  js  c++  java
  • 记录一下ES6扩展运算符(三点运算符)...的用法

     ...运算符用于操作数组,有两种层面

    1. 第一个叫做 展开运算符(spread operator),作用是和字面意思一样,就是把东西展开。可以用在array和object上都行。
    比如:

    let a = [1,2,3];
    let b = [0, ...a, 4]; // [0,1,2,3,4]
     
    let obj = { a: 1, b: 2 };
    let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 }
    let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
    

     2. 第二个,第三个叫做 剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它。一般只针对array的解构,其他的没见过。。。
    比如:

    let a = [1,2,3];
    let [b, ...c] = a;
    b; // 1
    c; // [2,3]
     
    // 也可以
    let a = [1,2,3];
    let [b, ...[c,d,e]] = a;
    b; // 1
    c; // 2
    d; // 3
    e; // undefined
     
    // 也可以
    function test(a, ...rest){
      console.log(a); // 1
      console.log(rest); // [2,3]
    }
     
    test(1,2,3)
    

     还有类似的

    let array = [1, 2, 3, 4, 5];
    const { x, y, ...z } = array;
    // 其中z=[3, 4, 5],注意如果由于array的length不足以完成析构,则会导致z为[]
    对象:
    let obj = { name: 'zhangsan', age: 30, city: 'shenzhen' };
    const {name, ...others} = obj;
    console.log(name); // 'zhangsan'
    console.log(others); // {age: 30, city: 'shenzhen'}
    

     转自:https://blog.csdn.net/chauncywu/article/details/73060918

  • 相关阅读:
    C#程序调用cmd.exe执行命令
    JS正则表达式之特殊符号
    Java设计模式之策略模式
    Java基础之多态
    Filter过滤器笔记1
    Servlet笔记1
    jsp笔记3(内置对象)
    jsp笔记2(编译指令与动作指令)
    jsp笔记1(基本原理与语法)
    xml文件生成与下载
  • 原文地址:https://www.cnblogs.com/hycms/p/9260647.html
Copyright © 2011-2022 走看看