es6这里的三点展开式是什么意思?

es6这里的三点展开式是什么意思?大神解答下。可以贴出网上资料吗,我自己看到的都没有这种写法,都是回答问题的你们这样写的。

图片描述

阅读 4k
3 个回答

这是es6的特性,主要用于 数组和对象的析构,示例代码如下:

// es6 代码
const App = {
    name:'323',
    age:1
}
const C = {
  ...App,
  title:'dsd'
}

// 通过babel 编译之后的es5代码:
'use strict';

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 App = {
  name: '323',
  age: 1
};

var C = _extends({}, App, {
  title: 'dsd'
});

// C 最终的结果是

{
  name: '323',
  age: 1,
  title: 'dsd'
}
  1. let arr = [1, 2, 3],那么可以用[...arr, 4, 5, 6]。
  2. 可以用于拼接对象:
let obj = {
    name: 'name'
}
let newObj = {
    ...obj,
    age: 18
}
// 结果
{
    name: 'name',
    age: 18
}

具体参考

这就是ES6解构赋值,你查一下就知道了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题