๐ป DEV/Javascript & NodeJS20 [Javascript] ๊ฐ์ฒด์ Deep Copy (๊น์ ๋ณต์ฌ) โจ Object ๋? Javascript์ Reference type (๊ฐ์ฒด/์ฐธ์กฐํ ํ์ ) ์ ์ํ๋ Data type ์ด๋ค. ํ๊ตญ์ด๋ก๋ '๊ฐ์ฒด'๋ก ๋ถ๋ฆฌ์ฐ๋ฉฐ, key ์ value ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๊ฐ์ฒด๋ Heap ๋ผ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋๋ฉฐ, ๋ณ์์๋ ํด๋น ๊ณต๊ฐ์ ์ฐธ์กฐํ๋ ์ฃผ์๊ฐ์ด ํ ๋น๋๋ค. ๋ฐ๋ผ์ ์๋ก์ด ๋ณ์์ ๊ฐ์ฒด ๋ณ์ ์์ฒด๋ฅผ ํ ๋นํ ๊ฒฝ์ฐ ๊ฐ์ฒด ์์ฒด์ ๋ณต์ฌ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์ผ๋ฉฐ, ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๋ ์ฃผ์๋ง ๋ณต์ฌ๋๋ค. // ์ฐธ์กฐ ํ ๋น: ์๋ก ๋ค๋ฅธ ๋ณ์๊ฐ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ฒ ๋จ let obj = {0:'zero', 1:'one'} let obj1 = obj // obj์ ๊ฐ์ฒด ์ฃผ์๊ฐ ๋ณต์ฌ๋จ obj1.1 = 'changed one' // obj1 ์์ ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ๋ฉด obj // {0:'zero', 1:.. 2021. 5. 9. [Javascript] ํจ์ : Currying (์ปค๋ง) โจ Curry ํจ์๋? ํจ์๋ฅผ ๋ฐํ(return)ํ๋ ๊ณ ์ฐจํจ์์ ์ผ์ข ์ด๋ค. ์ด๋, ๋ฐํ๋๋ ํจ์๋ฅผ ํด๋ก์ (Closure)๋ผ๊ณ ์นญํ๊ธฐ๋ ํ๋ค. function curry(func) { // curry() ๋ ์ปค๋ฆฌํจ์์ด๋ค return (function closure(something){ // callback() ๋ ํด๋ก์ ์ด๋ค return (console.log(something)) }) } โจ Currying(์ปค๋ง)์ด๋? ์ฌ๋ฌ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋จ์ผ ํธ์ถ์ ์ฒ๋ฆฌํ๋ ํจ์๋ฅผ, ๊ฐ๊ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ๊ฐ๋ณ๋ก ํธ์ถ๋ ์ ์๋๋ก ๋ณํํ๋ ์์ ์ ์ปค๋ง(Currying)์ด๋ผ๊ณ ํ๋ค. function sum(a, b) { // ์ผ๋ฐ ํจ์ sum() ์ ์ปค๋งํ์ฌ ๋ณํํด๋ณด๋๋ก ํ๋ค. return a + b; } function c.. 2021. 5. 9. ์ด์ 1 2 3 ๋ค์