展开运算符 ... 是一个很好用的ES6新特性,用的好的话,可以节约很多代码。
但是作为ES6特性,它有兼容性问题,而且Babal(在线转码网页)并不会转换展开运算符。
展开运算符大体分为两种用法:展开对象和展开数组。
现在我就来讲讲展开运算符的降级写法。
展开对象:
var a = { // 此处省略500字 } var b = { ...a }
用 Object.assign 可解。
var a = { // 此处省略500字 } var b0 = { // 此处省略500字 } var b = Object.assign(b0, a)
展开数组:
var arrayA = [/* 很多东西 */] var arrayB = [/* 很多东西 */] var last_array = [...arrayA, ...arrayB]
用 [].concat() 可解。
var arrayA = [/* 很多东西 */] var arrayB = [/* 很多东西 */] var last_array = [].concat(arrayA, arrayB)
以上。