Knowledge

[ JavaScript ] ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ

seulye 2023. 6. 16. 13:18

 
https://cocobi.tistory.com/156

[JS] ์ฐธ์กฐ ํƒ€์ž…์˜ ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ(Shallow Copy & Deep copy)

> ๊ด€๋ จ ๊ธ€ :: [JS]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์›์‹œ ํƒ€์ž…๊ณผ ์ฐธ์กฐ ํƒ€์ž… ๐ŸŒˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฐธ์กฐ ํƒ€์ž…์˜ ๋ณต์‚ฌ ๋ฐฉ๋ฒ• ์ฐธ์กฐ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ณต์‚ฌ ์‹œ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์ด ์•„๋‹Œ '๊ฐ’์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ'๊ฐ€ ์ €์žฅ๋œ๋‹ค.

cocobi.tistory.com

 

์–•์€ ๋ณต์‚ฌ(Shallow copy)๋Š” ์ฐธ์กฐ ํƒ€์ž… ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅํ•œ '๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ฐ’'์„ ๋ณต์‚ฌํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

๋ฐ˜๋Œ€๋กœ ๊นŠ์€ ๋ณต์‚ฌ(Deep copy)๋Š” ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•ด ์™„์ „ํžˆ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.



โžก๏ธ์‚ฌ๊ฑด์˜ ๋ฐœ๋‹จ 

const temp = list;

temp์— list ๋ณต์‚ฌํ•˜๊ณ  temp ์ง€์ง€๊ณ  ๋ณถ๊ณ  ํ–ˆ๋”๋‹ˆ list๊ฐ€ ์ž๊พธ ๋ฐ”๋€œ.
๋„๋Œ€์ฒด ์™œ ๊ทธ๋Ÿฌ์ง€ ํ–ˆ๋Š”๋ฐ, ์–•์€ ๋ณต์‚ฌ๋ผ์„œ ๊ทธ๋ ‡๋‹จ๋‹ค.
 

const temp = [...list];

์ฑ—์ง€ํ”ผํ‹ฐ๊ฐ€ ์ด๋ ‡๊ฒŒ ํ•ด๋ณด๋ผ๋Š”๋ฐ, ์ด๊ฒƒ๋„ ์•ˆ ๋จ.
 

const temp = JSON.parse(JSON.stringify(list));

 
์ด๊ฑด ๋จ ๊ตฟ

'Knowledge' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

call by reference/call by value  (0) 2022.04.13
๋™๊ธฐ์‹ vs ๋น„๋™๊ธฐ์‹ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (1) 2022.04.08
HTTP vs HTTPS  (1) 2022.04.08
java 1.7 vs java 1.8 vs java11 vs java17  (1) 2022.04.06
MYSQL vs ORACLE  (0) 2022.04.05