Vue中点点点(...)用法

Vue中点点点(…)用法

官方文档说明:
这个是扩展运算符。
扩展语法。对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来。
这个东西可以在函数定义的地方使用,比如使用func(…args)将函数传入的参数都放到args数组里。

除此之外:
普通用法:
1.连接数组

    let a = [{ name1: "1" }, { name2: "2" }, { name3: "4" }, { name4: "5" }];
    let b = [{ name7: "7" }, { name5: "5" }, { name8: "4" }, { name9: "9" }];
    let c = [...a, ...b];
    console.log(c); 

打印结果:

在这里插入图片描述
2.连接对象

    let a = { name1: "1", name2: "2", name3: "4", name4: "5" };
    let b = { name7: "7", name2: "5", name8: "4", name9: "9" };
    let c = {...a, ...b};
    console.log(c);

打印结果:
连接后的对象经过了去重
去重结果为:由后面的对象属性替换前面的对象属性
在这里插入图片描述

!特殊用法可以作为对象或数组的深拷贝使用

1.浅拷贝情况:

    let a = {
      name1: "1",
      name2: "2",
      name3: "4",
      name4: "5",
    };
    let b = a;
    console.log(b); //{ name1: "1",name2: "2",name3: "4",name4: "5"};
    b.name1 = "1111";
    console.log(b); //{ name1: "111",name2: "2",name3: "4",name4: "5"};
    console.log(a); //{ name1: "111",name2: "2",name3: "4",name4: "5"};

2.使用“点点点”深拷贝:

    let a = {
      name1: "1",
      name2: "2",
      name3: "4",
      name4: "5",
    };
    let b = {...a};
    console.log(b); //{ name1: "1",name2: "2",name3: "4",name4: "5"};
    b.name1 = "1111";
    console.log(b); //{ name1: "111",name2: "2",name3: "4",name4: "5"};
    console.log(a); //{ name1: "1",name2: "2",name3: "4",name4: "5"};
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D^Q^X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值