JavaScript运算符(展开运算符)

(...)展开运算符又叫剩余运算符。

展开运算符(spread operator)允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。

展开运算符不能用在对象当中,因为目前展开运算符只能在可遍历对象(iterables)可用。iterables的实现是依靠[Symbol.iterator]函数,而目前只有Array,Set,String内置[Symbol.iterator]方法,而Object尚未内置该方法,因此无法使用展开运算符。不过ES7草案当中已经加入了对象展开运算符特性。

2.6.1 数据解构

其实就是把数组的每个数据拆开然后放进去。

{
let[u,...y]= ['tom','rlva','lili']
console.log(u)
console.log(y)

}

2.6.2 数据构造

(1)两个对象连接返回新的对象。

{  
    // 
    // 把数组 展开 放置存储到 一个大的数组中去
    let x = [100,20,500]
    let y=['lili','小马过河']
    let r=[...x,...y]
    console.log(r)
}

 

(2)两两个数组连接返回新的数组。在ES6的世界中,我们可以直接加一个数组直接合并到另外一个数组当中。

{
    let arr1 = ['a','b']
    let arr2 = ['c','d']
    // 将两个数组里面的每个数据项 分别展开 
    let arr = [...arr1,...arr2]
    console.log(arr)
}

 

(3)数组加上对象返回新的数组。

 // 数组加上对象返回新的数组
   let x=[
       {
           uname:'lili'
       }
   ];
   let y={
       sex:'女'
   }
   // 注意:y前不要写展开运算符,否则会报bug
   let arr =[...x,y]
   console.log(arr)
}

 

类数组对象变成数组

展开运算符可以将一个类数组对象变成一个真正的数组对象。

{
    window.onload = function(){
        let list = document.getElementsByTagName('div')
        console.log(list)
        let arr = [...list]
        console.log(arr)
    }
}
//list是类数组对象,而我们通过使用展开运算符可以使之将其变成数组。

 打印预览:

(4)数组+字符串。

{
    // 数组+字符串
    let x = ['tom','小许']
    let y = 'elva'
    let z = [...x,y] //将tom和小许,这两个数据 展开 放在 这个数组中
    console.log(z)
}

 

(5)两数组+对象。

let x = {
    name:['tom','elva'],
    age:18
}
let y = {
    ...x,
    age:18,
   arr:[...x.name]
}
console.log(y)

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值