Javascript之Object.assign()
来源:互联网 发布:seo零基础 编辑:程序博客网 时间:2024/05/16 19:25
Object.assign()
方法用于将所有可枚举的属性的值从link一个或多个源对象复制到目标对象。它将返回目标对象
详细描述可以参见:Object.assign() - JavaScript | MDN
源码如下:
if (typeof Object.assign != 'function') { (function () {Object.assign = function (target) { 'use strict'; if (target === undefined || target === null) { throw new TypeError('Cannot convert undefined or null to object'); } var output = Object(target); for (var index = 1; index < arguments.length; index++) { var source = arguments[index]; if (source !== undefined && source !== null) { for (var nextKey in source) { if (source.hasOwnProperty(nextKey)) { output[nextKey] = source[nextKey]; } } } } return output;}; })();}
对于不支持该属性的浏览器:
Object.assign = function () { let list = arguments; let f = list[0]; let last = list[list.length - 1]; let count = list.length; if (last === true) count-- for (var i = 1; i < count; i++) { let p = list[i]; if (last === true) p = JSON.parse(JSON.stringify(p)); if (p instanceof Array) { for (let i = 0; i < p.length; i++) f[i] = p[i]; } else { for (let a in p) f[a] = p[a]; } } return f;}
注:最后一参设为true,可以实现简单得深拷贝。
阅读全文
0 0
- Javascript之Object.assign()
- javascript之Object.assign()痛点
- <转>javascript之Object.assign()痛点
- javascript之Object.assign()痛点
- javascript之Object.assign()痛点
- node之object-assign
- ES6之Object.assign
- ES6之Object.assign()详解
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- JavaScript 对象拷贝与Object.assign
- es6 javascript对象方法Object.assign()
- Object.assign()
- Object.assign
- Object.assign()
- Object.assign()
- Object.assign()之深浅烤白
- Zookeeper
- 排序算法的时间复杂度和空间复杂度
- P2P中的NAT穿越方案简介
- 从日常开发说起,浅谈HTTP协议是做什么的
- js的image()循环创建,src始终为最近创建的那个解决办法(给image.onload传参)
- Javascript之Object.assign()
- 第十七章:容器深入研究
- codeforces 835C(二维前缀和)
- 算法-array-6-ReshapetheMatrix
- cmd命令行显示中文乱码
- Java学习笔记---实现文件随机读写-RandomAccessFile
- ASP.NET Web Pages – 文件
- RobotFramework 使用远程测试库
- tomcat报错:严重: The required Server component failed to start so Tomcat is unable to start. org.apache.