... 运算符

Posted qujun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了... 运算符相关的知识,希望对你有一定的参考价值。

剩余参数 和 展开项

ES6 的语法加一个 ... 的操作符,用来把数组和对象展开。

大概总结了有以下几种用法

剩余参数

const fun (...args)=>{
    console.log(args)
}

这样输出来的就是一个真正的数组,不用再像之前那样用Array.prototype.concat.call()来实现参数到数组的转变。

展开项

let arr1 = ["a","b","c"];
let arr2 = [1,2,3];
let arr = [...arr1,...arr2]
//输出来 ["a", "b", "c", 1, 2, 3]

这种方式对于数组和对象皆可用

解构

var a,b,rest;
[a,b,...rest] = [1,2,3,4,5,6,7,8,9];
console.log(rest)
//输出 [2,3,4,5,6,7,8,9]

这样的参数解构会把前面指定的变量跟值一一对应,剩余的所有值就对应rest 变量

??解构的参数必须要放在最后一位 要不然会报 :

Uncaught SyntaxError: Rest element must be last element

刚开始的时候在纠结 ...是一种什么类型的数据,如果打印console.log(...[1,2,3]) 直接就返回的是1 2 3 接着用 console.log(typeof (...[1,2,3])) 就会报错。后来就不纠结了 其实就是要展开的对象是什么类型,如果是数组,就是数组的子项,。象就是对象的子项,字符串的话就是字符串的每个字符。


心情属于自己,控制心情就等于做好自己

以上是关于... 运算符的主要内容,如果未能解决你的问题,请参考以下文章

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

如何在 python 中并行化以下代码片段?

JSP 基础语法

获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算

中继片段传播不起作用