# deep-assign [![Build Status](https://travis-ci.org/sindresorhus/deep-assign.svg?branch=master)](https://travis-ci.org/sindresorhus/deep-assign) > Recursive [`Object.assign()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) ## Install ``` $ npm install --save deep-assign ``` ## Usage ```js var deepAssign = require('deep-assign'); deepAssign({a: {b: 0}}, {a: {b: 1, c: 2}}, {a: {c: 3}}); //=> {a: {b: 1, c: 3}} ``` ### deepAssign(target, source, [source, ...]) Recursively assigns own enumerable properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones. ## Related - [object-assign](https://github.com/sindresorhus/object-assign) - ES2015 Object.assign() ponyfill ## License MIT © [Sindre Sorhus](http://sindresorhus.com)