三点运算符(三点语法)
概念: 【js|三点运算符(三点语法)】三点运算符为对象的扩展运算符,用于取出参数对象中的所有可遍历属性,拷贝到 当前的对象之中,拓展运算符拷贝的是对象中的基本数据类型,并不是对原有对象的引用,因此修改当前对象中的值不会影响原有对象中的值。
使用
在函数调用/数组构造时,将数组表达式或者string在语法层面展开;
1.数组的复制
1.创建一个数组
var number = ['吃饭', '玩游戏', '聊天', '看电影'];
// console.log(...number);
// 吃饭 玩游戏 聊天 看电影
var arr = [...number];
// console.log(arr);
['吃饭', '玩游戏', '聊天', '看电影']
2.对象的复制
//对象的深拷贝
var obj = { name: '明明', age: 20 };
// console.log(...obj);
//不能直接打印对象,会报错
var obj1 = { ...obj };
// console.log(obj1);
obj1.age = 22;
// console.log(obj);
// { name: '明明', age: 20 }不影响原有对象的值
3.对象的合并
var obj2 = { name: '宝宝' };
var obj3 = { age: 22 };
var obj4 = { ...obj2 , ...obj3 };
// console.log(obj4);
// {name: "宝宝", age: 22}
4.普通方法 字符串转化为数组
var str = '吃好,喝好,玩好';
var arr1 = str.split(',');
// console.log(arr1);
//["吃好", "玩好", "喝好"]
用 …语法 区别 :字符串转化数组,一个字符一个位置
var arr2 = [...str];
// console.log(arr2);
//["吃", "好", ",", "喝", "好", ",", "玩", "好"]
5. …语法在函数中的使用 1.实参中的使用
//需要将数组里的元素,分割为单个实参传递
function fn(x, y, z) {
console.log(x, y, z);
}
// fn(1, 2, 3);
var arr = ['雨声', '淅沥沥', '哗啦啦'];
// fn(...arr);
2.作为形参时
//将传递的多个实参,转化为数组
function fn1(...arr2) {
console.log(arr2);
// ["滴滴答答", "噼里啪啦", "喝茶看书"]
}fn1('滴滴答答', '噼里啪啦', '喝茶看书');
6.解构赋值的使用 剩余参数:(…args)为剩余参数用法 剩余参数语法允许我们将一个不定量的参数表示为一个数组
解构赋值结合剩余参数
let a,b,rest;
[a,b,...rest] = [1,2,3,4,5,6];
console.log(rest);
//[3,4,5,6]
推荐阅读
- 学历历程|1-9学习历程(JavaScript数组)以及函数的基础使用嵌套函数,递归,普通函数和构造函数的区别
- vue.js|vue-cli3.0 使用postcss-plugin-px2rem(推荐)和 postcss-pxtorem(postcss-px2rem)自动转换px为rem 的配置方法;
- 前端|前端学习分享
- 学习笔记|基础JavaScript
- jquery|jQuery_04(事件&动画)
- javascript|javascript函数中的返回值
- 学习笔记|学习笔记之JavaScript——知识点(2)
- 【JavaScript高级程序设计】知识点小结 II
- Leetcode977有序数组的平方(双指针解法)