[摘要]本篇文章给大家带来的内容是关于ES6中展开符号的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。概述展开符号真的是一个非常好用的东西,我常用于字符串分割、数组合并、数组拷贝、对象...
本篇文章给大家带来的内容是关于ES6中展开符号的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
概述
展开符号真的是一个非常好用的东西,我常用于字符串分割、数组合并、数组拷贝、对象合并、对象拷贝。
0x001 语法
...iterableObj
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中展开符号的介绍的详细内容,更多请关注php中文网其它相关文章!
				
				
					
微信
					分享
				
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。
  关键词:ES6中展开符号的介绍