JavaScript多个点号什么意思
程序员文章站
2022-03-22 19:17:08
...
在JavaScript中,多个点号“...”指的是扩展运算符,是在ES6中新增加的特性,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照“key-value”的方式展开。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
在JavaScript中,三个点(...)真名叫扩展运算符,是在ES6中新增加的内容,它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开
字面量一般指[1,2,3]或者{name:'chuichui'}这种简洁的构造方式,多层嵌套的数组和对象三个点就无能为力了
说白了就是把衣服脱了,不管是大括号([])、花括号({}),统统不在话下,全部脱掉脱掉!
// 数组 var number = [1,2,3,4,5,6] console.log(...number) //1 2 3 4 5 6 //对象 var man = {name:'chuichui',height:176} console.log({...man}) / {name:'chuichui',height:176}
有什么用?
它的用处很广泛,我们随处都可以看到,下面是几个常见的例子
复制用它
//数组的复制 var arr1 = ['hello'] var arr2 =[...arr1] arr2 // ['hello'] //对象的复制 var obj1 = {name:'chuichui'} var obj2 ={...arr} ob12 // {name:'chuichui'}
合并用它
//数组的合并 var arr1 = ['hello'] var arr2 =['chuichui'] var mergeArr = [...arr1,...arr2] mergeArr // ['hello','chuichui'] // 对象分合并 var obj1 = {name:'chuichui'} var obj2 = {height:176} var mergeObj = {...obj1,...obj2} mergeObj // {name: "chuichui", height: 176}
字符转数组用它
var arr1 = [...'hello'] arr1 // ["h", "e", "l", "l", "o"]
函数传参用它
可以和正常的函数相结合,灵活使用
function f(v,w,x,y,z){ } var args = [2,3] f(1,...args,4,...[5])
当我们想把数组中的元素迭代为函数参数时,用它!
function f(x,y,z){} var args = [1,2,3] f(...args) // 以前的方法 f.apply(null,args);
【推荐学习:javascript高级教程】
以上就是JavaScript多个点号什么意思的详细内容,更多请关注其它相关文章!
上一篇: css怎么设置正在访问的链接背景
下一篇: css中的背景图片怎么变小
推荐阅读
-
同一页面多个商品倒计时JS 基于面向对象的javascript
-
同一页面多个商品倒计时JS 基于面向对象的javascript
-
javascript 函数后面有多个小括号f( )( )( )...
-
Javascript同时声明一连串(多个)变量的方法
-
JavaScript变速动画函数封装添加任意多个属性
-
javascript中,var that = this;是什么意思?
-
JavaScript深入浅出第2课:函数是一等公民是什么意思呢?
-
网卡名多个2# 是什么意思
-
javascript将字符串中的多个空格替换为一个空格的正则实例
-
javascript - 一个页面中有多个相同的form,分别去发起异步请求,后写的$.ajax方法,数据发送不出去,控制台也没有报错?