网站链接: 我爱捣鼓
当前位置: 首页 > 前端开发 > Vue

Vue中参数前三个点有什么作用?

2023/7/22 20:48:41

我们经常看到Vue开发中会使用三个点后面跟一个变量,这三个点代表:扩展运算符。 扩展运算符是什么意思呢,对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来。举例说明 操作数组举例// 1.把数组中的元素孤立起来let iArray = [1, 2, 3];consol…

        我们经常看到Vue开发中会使用三个点后面跟一个变量,这三个点代表:扩展运算符。

        扩展运算符是什么意思呢,对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来。

举例说明

        操作数组举例

// 1.把数组中的元素孤立起来
let iArray = ['1', '2', '3'];
console.log(...iArray);
// 打印结果  1 2 3
// 2.在数组中添加元素
let iArray = ['1', '2', '3'];
console.log(['0', ...iArray, '4']);
// 打印结果  ["0", "1", "2", "3", "4"]
// 3.在数组中删除元素(取出一个元素)
// 与结构赋值的结合
// 如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
const [first, ...rest] = [1, 2, 3, 4, 5];
console.log(first);  // 打印结果 1
console.log([...rest]);  // 打印结果 [2, 3, 4, 5]
const [one, ...last] = ["foo"];
console.log(one);  // 打印结果 foo
console.log([...last]);  // 打印结果 []
// 4.数组的合并
// ES6 的写法
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
console.log(arr1); // 打印结果 [0, 1, 2, 3, 4, 5]
// 推荐使用写法
console.log([...arr1, ...arr2]); // 打印结果 [0, 1, 2, 3, 4, 5]
// 5.将字符串转成数组
let iString = 'zhongguoren';
console.log([...iString]); // 打印结果 ["z", "h", "o", "n", "g", "g", "u", "o", "r", "e", "n"]
// 6.Map 和 Set 结构, Generator 函数
let map = new Map([
  [1, 'one'],
  [2, 'two'],
  [3, 'three'],
]);
let arr = [...map.keys()];
console.log(arr);
// 打印结果 [1, 2, 3]
// 7.当做参数传递和直接传数组的区别
iClick4() {
    let iArray = ['1', '2', '3'];
    //注意传的时候,就要三个点
    this.hanshu(...iArray);
},
hanshu(...iArray) {
    let ooo = 1;
    console.log(...iArray);
    // 打印结果 1 2 3
},
// 8.求出最大值
let iArray = [1, 2, 3, 99, 44, 66, 21, 85, 77];
let ooo = Math.max(...iArray);
console.log(ooo);
// 打印结果 99
// 9.如果对没有iterator接口的对象,使用扩展运算符,将会报错。
let obj = {
  name: 'zhh',
  age: '20'
}
console.log([...obj]);

        操作对象举例

// 1.添加一个属性
let a = {age: 18, id: 10};
let c = {name: 'zhh', ...a};
console.log(c);  
// 打印结果  {name: "zhh", age: 18, id: 10}
// 2.修改一个属性
let a = {name: 'zhh', age: 18, id: 10};
let c = {...a, name: 'zhh1'};
console.log(c);  
// 打印结果  {name: "zhh1", age: 18, id: 10}
// 3.删除一个属性(拿出属性或者对象)
let a = {name: 'zhh', age: 18, id: 10};
let {name, ...c} = a;
console.log(name, c);  
// 打印结果 zhh {age: 18, id: 10}

        通过以上内容我们知道了Vue中参数前三个点的作用。感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!

相关资讯

  • vue兄弟平级组件如何传递参数值?

    vue组件传值不外乎三种,父传子、子传父、平级,今天我们就来着重说说vue平级组件如何传递参数值? 假设你有两个Vue组件需要通信: A 和 B ,A组件按钮上面绑定了点击事件,发送一则消息,B组件接收。初始化,全局创建$bus 直接在项目中的 main.js 初始化 …

    2023/1/7 13:08:32