前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(九)... 扩展运算符的基本知识

(九)... 扩展运算符的基本知识

作者头像
老怪兽
发布2023-02-22 19:48:25
2650
发布2023-02-22 19:48:25
举报
文章被收录于专栏:老怪兽的前端之旅

🐆一、跟数组一起使用

  • 展开一个数组
代码语言:javascript
复制
let arr1 = [1, 3, 5, 7, 9]
let arr2 = [2, 4, 6, 8, 10]
console.log(...arr1)    
  • 链接数组
代码语言:javascript
复制
let arr1 = [1, 3, 5, 7, 9]
let arr2 = [2, 4, 6, 8, 10]
console.log([...arr1, ...arr2])  

🐼二、函数传参

  • 接收不固定的值
代码语言:javascript
复制
function sum(...nums) {
    // 求和累加
    return nums.reduce(perValue, currentValue) => {
        // perValue 之前的值
        // currentValue 当前的值
        return perValue + currentValue
    }
}
console.log(sum(1,2,5,8))
  • 数组身上的常用方法

🐥三、在对象上使用

代码语言:javascript
复制
let person = {name: 'tom', age: 18}
console.log(...person)

// 这种形式可以用于克隆一个对象
let person = {name: 'tom', age: 18}
let personNew = {...person}
console.log('克隆后的对象', presonNew)
  • 不能把 ... 展开运算符应用到一个对象身上
... 对象说明
  1. ... 是不能展开对象的,必须要用对象包裹
  • ...参考文档
代码语言:javascript
复制
let person = {name: 'tom', age: 18}
console.log({...person})     // 这样就可以展开了

2. ... 结合 Reactprops 批量传参

代码语言:javascript
复制
// 这里的 {...person} 和下面 React 的 ...p 是不一样的
let person = {name: 'tom', age: 18}
let personNew = {...person}

// React {} 里面是赋值语句,因为是通过 React 和 babel 翻译过后就允许这样写了
ReactDom.render(<Person {...p}/>, doument.getElmentById('test'))

🐤四、... 赋值并修改属性,也称合并对象

代码语言:javascript
复制
let person = {name: 'tom', age: 18}
let personNew = {...person, name: 'jack'}
console.log(personNew) // {name: 'jack', age: 18}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年12月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🐆一、跟数组一起使用
  • 🐼二、函数传参
  • 🐥三、在对象上使用
    • ... 对象说明
    • 🐤四、... 赋值并修改属性,也称合并对象
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档