[D+44] call, apply, bind ๋ฉ์๋
D+44 - call, apply, bind ๋ฉ์๋ - (call, apply, bind) call ๊ณผ apply call๊ณผ apply๋ฅผ ํธ์ถํ ๊ฒฝ์ฐ ๋ช
์์ ์ผ๋ก this๋ฅผ ์ง์ ํ๊ณ ์ถ์๋ ์ฌ์ฉํ๋ค๊ณ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ ์ ์์ผ๋ฉฐ, ์ฒซ๋ฒ์งธ ์ธ์๊ฐ ํญ์ this๊ฐ์ด ๋ฉ๋๋ค. ์ด ๋์ ์ฐจ์ด์ ์ .apply๋ ๋ฐฐ์ด๋ก ๊ฐ์ ๋๊ฒจ์ฃผ๊ณ , .call์ ๊ทธ๋ฅ ๋จ์ํ ๊ฐ์ ์
๋ ฅํ๋ฉด ๋๊ฒจ์ค๋ค๋ ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. function add(x, y) { return x + y; } add.apply(null, [2, 8]); // 10 add.call(null, 2, 8); // 10 bind .bind๋ .call๊ณผ ์ ์ฌํ๊ฒ this ๋ฐ ์ธ์๋ฅผ ๋ฐ์ธ๋ฉ ํ์ง๋ง ๋น์ฅ ์คํํ๋ ๊ฒ์ด ์๋ ๋ฐ์ธ๋ฉ ๋ ํจ์๋ฅผ ๋ฆฌํดํ๋ ํจ์์ด๋ค. ์ฒซ ๋ฒ..
2020. 10. 20.
[D+44] ํ์ดํ ํจ์, ๊ตฌ์กฐ๋ถํด ํ ๋น, this
D+44 - ํ์ดํ ํจ์, ๊ตฌ์กฐ๋ถํด ํ ๋น, this - (ํ์ดํ ํจ์, ๊ตฌ์กฐ๋ถํด ํ ๋น, this) ํ์ดํ ํจ์ ํจ์ ํํ์ const add = function (x, y) { return x + y } ๋ง์ฝ ๋งค๊ฐ๋ณ์ x, y๋ฅผ ์
๋ ฅ๋ฐ์ ๋ ์๋ฅผ ๋ํ ๊ฐ์ ๋ฆฌํดํ๋ ํจ์๋ฅผ ๋ง๋ค๊ณ ์ ํ ๋ ์ฐ๋ฆฌ๋ ์์ ์ฝ๋๋ฅผ ์๊ฐํ ๊ฒ์ด๋ค. ํด๋น์ฝ๋๋ ๊ธฐ์กด์ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ํจ์ ํํ์์ผ๋ก ์ฐ๋ฆฌ๋ ํด๋น ํจ์ ํํ์์ ๋์ฑ ๊ฐ๋จํ๊ฒ ํํํ ์ ์๋ค. ํ์ดํ ํจ์ const add = (x, y) => { return x + y } ๋ฐ๋ก ํ์ดํ ํจ์์ด๋ค. const add = (x, y) => x + y const add = (x, y) => (x + y) // O, ์ ์ ์๋(์๊ดํธ ์ฌ์ฉ๊ฐ๋ฅ) const add = (x, ..
2020. 10. 20.