Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sindresorhus/object-assign
ES2015 Object.assign() ponyfill
https://github.com/sindresorhus/object-assign
Last synced: 27 days ago
JSON representation
ES2015 Object.assign() ponyfill
- Host: GitHub
- URL: https://github.com/sindresorhus/object-assign
- Owner: sindresorhus
- License: mit
- Created: 2014-02-02T15:45:54.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2023-11-05T18:16:06.000Z (12 months ago)
- Last Synced: 2024-04-23T11:16:16.315Z (6 months ago)
- Language: JavaScript
- Homepage:
- Size: 41 KB
- Stars: 920
- Watchers: 19
- Forks: 82
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
- Security: .github/security.md
Awesome Lists containing this project
- awesome-development - object-assign - ES6 `Object.assign()` ponyfill. (Packages / Polyfills)
- awesome-ponyfills - object-assign - [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) (Objects)
- es6-tools - `Object.assign`
README
# object-assign
> ES2015 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) [ponyfill](https://ponyfill.com)
## Use the built-in
Node.js 4 and up, as well as every evergreen browser (Chrome, Edge, Firefox, Opera, Safari),
support `Object.assign()` :tada:. If you target only those environments, then by all
means, use `Object.assign()` instead of this package.## Install
```sh
npm install object-assign
```## Usage
```js
const objectAssign = require('object-assign');objectAssign({foo: 0}, {bar: 1});
//=> {foo: 0, bar: 1}// multiple sources
objectAssign({foo: 0}, {bar: 1}, {baz: 2});
//=> {foo: 0, bar: 1, baz: 2}// overwrites equal keys
objectAssign({foo: 0}, {foo: 1}, {foo: 2});
//=> {foo: 2}// ignores null and undefined sources
objectAssign({foo: 0}, null, {bar: 1}, undefined);
//=> {foo: 0, bar: 1}
```## API
### objectAssign(target, [source, …])
Assigns enumerable own properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones.
## Resources
- [ES2015 spec - Object.assign](https://www.ecma-international.org/ecma-262/6.0/#sec-object.assign)