deepcopy

    JS ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ

    ๊ฐ์ฒด(Object)๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–•์€ ๋ณต์‚ฌ(Shallow Copy) ์™€ ๊นŠ์€ ๋ณต์‚ฌ(Deep Copy) ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ์—ฌ๋Ÿฟ ์žˆ์ง€๋งŒ, ์ปจ์…‰์€ 2๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. ๊ฐ’์˜ ์ฃผ์†Œ ๊ฐ’์„ ๋ณต์‚ฌํ•ด ์ค„ ๊ฒƒ์ธ์ง€, ๊ฐ’ ์ž์ฒด๋ฅผ ๋ณต์‚ฌํ•ด ์ค„ ๊ฒƒ์ธ์ง€์š”. ๊ฐ์ฒด๊ฐ™์€ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ’์ด ๋ฉ”๋ชจ๋ฆฌ ์…€์— ํ• ๋‹น๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ’์ด ๋“ค์–ด ์žˆ๋Š” ์ฃผ์†Œ๊ฐ’(์ฐธ์กฐ๊ฐ’) ์ด ๋ฉ”๋ชจ๋ฆฌ ์…€์— ๋“ค์–ด ๊ฐ‘๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๋ณต์‚ฌ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ’ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณต์‚ฌ๋˜๋Š” ๊ฒƒ์„ Shallow Copy ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Shallow Copy spread syntax, Array.prototype.concat(), Array.prototype.slice(),Array.from(), Object.as..