root / HServer / 00.Server / 00.Program / node_modules / node.extend / Readme.md
이력 | 보기 | 이력해설 | 다운로드 (2.03 KB)
1 | 39 | HKM | # node.extend |
---|---|---|---|
2 | |||
3 | A port of jQuery.extend that **actually works** on node.js |
||
4 | |||
5 | [![Build Status][3]][4] [![dependency status][5]][6] |
||
6 | |||
7 | [![browser support][1]][2] |
||
8 | |||
9 | |||
10 | ## Description |
||
11 | |||
12 | None of the existing ones on npm really work therefore I ported it myself. |
||
13 | |||
14 | |||
15 | |||
16 | ## Usage |
||
17 | |||
18 | To install this module in your current working directory (which should already contain a package.json), run |
||
19 | |||
20 | ``` |
||
21 | npm install node.extend |
||
22 | ``` |
||
23 | |||
24 | You can additionally just list the module in your [package.json](https://npmjs.org/doc/json.html) and run npm install. |
||
25 | |||
26 | Then, require this package where you need it: |
||
27 | |||
28 | ``` |
||
29 | var extend = require('node.extend'); |
||
30 | ``` |
||
31 | |||
32 | The syntax for merging two objects is as follows: |
||
33 | |||
34 | ``` |
||
35 | var destObject = extend({}, sourceObject); |
||
36 | // Where sourceObject is the object whose properties will be copied into another. |
||
37 | // NOTE: In this situation, this is not a deep merge. See below on how to handle a deep merge. |
||
38 | ``` |
||
39 | |||
40 | For information about how the clone works internally, view source in lib/extend.js or checkout the doc from [jQuery][] |
||
41 | |||
42 | ### A Note About Deep Merge (avoiding pass-by-reference cloning) |
||
43 | |||
44 | In order to force a deep merge, when extending an object, you must pass boolean true as the first argument to extend: |
||
45 | |||
46 | ``` |
||
47 | var destObject = extend(true, {}, sourceObject); |
||
48 | // Where sourceObject is the object whose properties will be copied into another. |
||
49 | ``` |
||
50 | |||
51 | See [this article](http://www.jon-carlos.com/2013/is-javascript-call-by-value-or-call-by-reference/) for more information about the need for deep merges in JavaScript. |
||
52 | |||
53 | ## Credit |
||
54 | |||
55 | - Jordan Harband [@ljharb][] |
||
56 | |||
57 | |||
58 | |||
59 | ## License |
||
60 | |||
61 | Copyright 2011, John Resig |
||
62 | Dual licensed under the MIT or GPL Version 2 licenses. |
||
63 | http://jquery.org/license |
||
64 | |||
65 | [1]: https://ci.testling.com/dreamerslab/node.extend.png |
||
66 | [2]: https://ci.testling.com/dreamerslab/node.extend |
||
67 | [3]: https://travis-ci.org/dreamerslab/node.extend.png |
||
68 | [4]: https://travis-ci.org/dreamerslab/node.extend |
||
69 | [5]: https://david-dm.org/dreamerslab/node.extend.png |
||
70 | [6]: https://david-dm.org/dreamerslab/node.extend |
||
71 | [jQuery]: http://api.jquery.com/jQuery.extend/ |
||
72 | [@ljharb]: https://twitter.com/ljharb |