展开运算符 ... 是一个很好用的 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)
以上.
来源: http://www.bubuko.com/infodetail-3110209.html