es6 三点运算符_Vue的三个点es6知识,扩展运算符

Vue中的三个点在不同情境下的意思

操作数组

//里面放自己定义的方法

methods: {

/**

* 把数组中的元素孤立起来

*/

iClick() {

let iArray = ['1', '2', '3'];

console.log(...iArray);

// 打印结果 1 2 3

},

/**

* 在数组中添加元素

*/

iClick3() {

let iArray = ['1', '2', '3'];

console.log(['0', ...iArray, '4']);

// 打印结果 ["0", "1", "2", "3", "4"]

},

/**

* 在数组中删除元素(取出一个元素)

* 与结构赋值的结合

* 如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。

*/

iClick8() {

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]);

//打印结果 []

},

/**

* 数组的合并

*/

iClick6() {

// ES6 的写法

var arr1 = [0, 1, 2];

var arr2 = [3, 4, 5];

arr1.push(...arr2);

console.log(arr1);

// 打印结果 [0, 1, 2, 3, 4, 5]

},

/**

* 数组的合并(推荐使用)

*/

iClick7() {

var arr1 = [0, 1, 2];

var arr2 = [3, 4, 5];

console.log([...arr1, ...arr2]);

// 打印结果 [0, 1, 2, 3, 4, 5]

},

/**

* 将字符串转成数组

*/

iClick9() {

let iString = 'woshizhongguoren';

console.log([...iString]);

// 打印结果 ["w", "o", "s", "h", "i", "z", "h", "o", "n", "g", "g", "u", "o", "r", "e", "n"]

},

/**

* Map 和 Set 结构, Generator 函数

*/

iClick10() {

let map = new Map([

[1, 'one'],

[2, 'two'],

[3, 'three'],

]);

let arr = [...map.keys()];

console.log(arr);

// 打印结果 [1, 2, 3]

},

/**

* 当做参数传递

* 和直接传数组的区别

*/

iClick4() {

let iArray = ['1', '2', '3'];

//注意传的时候,就要三个点

this.hanshu(...iArray);

},

hanshu(...iArray) {

let ooo = 1;

console.log(...iArray);

// 打印结果 1 2 3

},

/**

* 求出最大值

*/

iClick5() {

let iArray = [1, 2, 3, 99, 44, 66, 21, 85, 77];

let ooo = Math.max(...iArray);

console.log(ooo);

// 打印结果 99

},

/**

* 如果对没有iterator接口的对象,使用扩展运算符,将会报错。

*/

iClick11() {

let obj = {

name: 'zhh',

age: '20'

}

console.log([...obj]);

},

}

操作对象

methods: {

/**

* 添加一个属性

*/

method3() {

let a = {age: 18, id: 10};

// 把 name 属性,放到对象中

let c = {name: 'zhh', ...a};

console.log(c);

// 打印结果 {name: "zhh", age: 18, id: 10}

},

/**

* 修改一个属性

*/

method2() {

let a = {name: 'zhh', age: 18, id: 10};

//先拿到a, 后面的name:zhh1,把 a 中name 的值替换掉了

let c = {...a, name: 'zhh1'};

console.log(c);

// 打印结果 {name: "zhh1", age: 18, id: 10}

},

/**

* 删除一个属性(拿出属性或者对象)

*/

method1() {

let a = {name: 'zhh', age: 18, id: 10};

let {name, ...c} = a;

console.log(name, c);

// 打印结果 zhh {age: 18, id: 10}

},

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值