ES6中展开符号有什么用

发布时间:2020-12-08 10:46:23 作者:小新
来源:亿速云 阅读:169

小编给大家分享一下ES6中展开符号有什么用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

概述

展开符号真的是一个非常好用的东西,我常用于字符串分割、数组合并、数组拷贝、对象合并、对象拷贝。

0x001 语法

...iterableObj

0x002 函数调用的时候参数展开

这是在函数调用的时候,将参数展开,和剩余参数有区别,剩余参数是在函数声明中使用

myFunction(...iterableObj);

案例

function add(a, b){
    return a + b
}
add(...[1,2]) // 相当于 add(1,2) -> 3

数组声明展开

可用于数组合并

[...[1,2,3],4] // 相当于[1,2,3].push(4) -> [1,2,3,4]
[...'1234'] // 相当于 '1234'.split("")

对象展开

可用于对象合并、对象拷贝

{...{name:1},age:2} // 相当于 Objeact.assign({},{name:1},{age:2}) -> {name:1,age:2}
{...{name:1}} // 相当于 Object.assign({},{name:1}) -> {name:1}

babel 翻译

字符串/数组展开

源码

[...'1234']

翻译后

function _toConsumableArray(arr) {
 if (Array.isArray(arr)) {
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
   arr2[i] = arr[i]; 
   }
   return arr2; 
   } else { 
   return Array.from(arr); 
   } 
   }

[].concat(_toConsumableArray('1234'));

对象展开

源码

let a={...{name:1}}

翻译后

var _extends = Object.assign || function (target) {
 for (var i = 1; i < arguments.length; i++) {
  var source = arguments[i]; 
  for (var key in source) {
   if (Object.prototype.hasOwnProperty.call(source, key))
    { target[key] = source[key]; 
    } 
    } 
    }
     return target; 
     };

var a = _extends({ name: 1 });

看完了这篇文章,相信你对ES6中展开符号有什么用有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. ES6中Symbol有什么用
  2. ES6中WeakSet有什么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

es6 展开符号

上一篇:ES6中增强的对象字面量的

下一篇:ES6中剩余参数的案例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》