美文网首页
展开作用符--Spread

展开作用符--Spread

作者: 秋天de童话 | 来源:发表于2017-12-01 20:16 被阅读48次

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

  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 }  
  1. 第二个,第三个叫做 剩余操作符(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)  

boject

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'}  

相关文章

  • 展开作用符--Spread

    ...运算符用于操作数组,有两种层面 第一个叫做 展开运算符(spread operator),作用是和字面意思一...

  • ES6特性之:Spread操作符

    Spread操作符(...),也称作展开操作符,作用是将可迭代的(Iterable)对象进行展开。 比如有2个数组...

  • ES6新增扩展(展开)运算符(转)

    ES6标准的制定为JavaScript加入了许多新特性。本文主要记录扩展(展开)运算符。 展开运算符(spread...

  • ES6 ... 扩展运算符(对象展开符)

    ES6 的扩展运算符(对象展开符) ... 扩展运算符( spread )是三个点(...)。它好比 rest 参...

  • es6 展开运算符

    1.含义:展开运算符(spread operator)——允许一个表达式在某处展开。2.限制:es6中此展开运算符...

  • ES6

    const {} Is the same as Spread syntax 展开语法(Spread syntax)...

  • Vue Antd Admin中展开运算符(spread oper

    Vue Antd Admin中,有很多地方用到了ES6的新语法:展开运算符(spread operator)。我这...

  • ES6-数组(深浅拷贝)

    参考文章:数组的扩展 一、扩展运算符... 扩展运算符(spread)是三个点(...)。 主要作用:将一个数组转...

  • 7.数组的扩展

    回到目录 扩展运算符 扩展运算符(spread)是三个点(...) 作用 复制数组 上面代码中,a2 并不是 a1...

  • ES6-数组方法及其实现

    1. 扩展运算符(spread) 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将...

网友评论

      本文标题:展开作用符--Spread

      本文链接:https://www.haomeiwen.com/subject/guzwbxtx.html