Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
development:javascript [2020/02/27 12:39] kalenpw |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== JavaScript ====== | ||
- | * [[development : javascript : mutating data | Mutating Data ]] | ||
- | |||
- | ** Install nodejs ** | ||
- | <code bash> | ||
- | sudo n stable | ||
- | </ | ||
- | |||
- | ===== Mutating Data ===== | ||
- | <code javascript> | ||
- | const one = [0, 1, 2]; | ||
- | const two = one; | ||
- | two.push(3); | ||
- | |||
- | console.log(one); | ||
- | console.log(two); | ||
- | </ | ||
- | output: | ||
- | <code javascript> | ||
- | [ 0, 1, 2, 3 ] | ||
- | [ 0, 1, 2, 3 ] | ||
- | </ | ||
- | Note: slice works on arrays of primitives not objects | ||
- | |||
- | <code javascript> | ||
- | const one = [0, 1, 2]; | ||
- | const two = one.slice(); | ||
- | two.push(3); | ||
- | |||
- | console.log(one); | ||
- | console.log(two); | ||
- | </ | ||
- | |||
- | output: | ||
- | <code javascript> | ||
- | [ 0, 1, 2 ] | ||
- | [ 0, 1, 2, 3 ] | ||
- | </ | ||
- | |||
- | But objects will still refer to the original arrays even with slice | ||
- | <code javascript> | ||
- | const one = [ | ||
- | { | ||
- | name: ' | ||
- | age: 23 | ||
- | }, | ||
- | { | ||
- | name: ' | ||
- | age: ' | ||
- | } | ||
- | ]; | ||
- | |||
- | const two = one.slice(); | ||
- | two[0].name = ' | ||
- | |||
- | console.log(one); | ||
- | console.log(two); | ||
- | </ | ||
- | output: | ||
- | <code javascript> | ||
- | [ { name: ' | ||
- | [ { name: ' | ||
- | </ |