javascript(2)
-
์๋ฐ์คํฌ๋ฆฝํธ - this, bind
์๋ฐ์คํฌ๋ฆฝํธ - this, bind (ํด๋น ๋ด์ฉ์ smashingmagazine ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด์ ์ ์ํ์์.) ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ตํ๋ค๋ณด๋ฉด ์๋ํ๋ context๋๋ก ์๋ํ์ง ์์ ๋๊ฐ ์๋ค. ์ด๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ฒด์ ๊ท์น์ด ์กด์ฌํ๋ค๋ ์ฆ๊ฑฐ์ด๋ฉฐ ์ฐ๋ฆฌ๋ ์ด๋ฅผ ํ์ตํ๊ณ ์ ์ ํ๊ฒ ์ฌ์ฉํ ์ค ์์์ผ ํ๋ค. ๋จผ์ ์๋ ์ฝ๋ ์์๋ฅผ ์ดํด๋ณด์. var myObj = { specialFunction: function () { }, anotherSpecialFunction: function () { }, getAsyncData: function (cb) { cb(); }, render: function () { var that = this; this.getAsyncData(function () { that.specia..
2022.05.07 -
์๋ฐ์คํฌ๋ฆฝํธ - ํด๋ก์
์๋ฐ์คํฌ๋ฆฝํธ - ํด๋ก์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ํด๋ก์ ๋ "ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์ธ๋์ ๋ ๋ ์์ปฌ ํ๊ฒฝ๊ณผ์ ์กฐํฉ์ด๋ค." MDN docs์ ์์๋ฅผ ๋ณด๋ฉด์ ์ ๋ง์ ์๋ฏธ๋ฅผ ํ๊ตฌํด๋ณด์. makeFunc()ํจ์๋ ๋ด๋ถ์ displayName()ํจ์๋ฅผ ๋ฆฌํดํ๋ ํจ์์ด๊ณ ์ด๋ฅผ myFunc๋ผ๋ ๋ณ์๊ฐ ๋ฆฌํด์ ๋ฐ๊ฒ ๋๋ค. ๊ฒฐ๊ตญ์ myFunc๊ฐ displayNameํจ์๋ฅผ ๊ฐ๊ฒ ๋๋๋ฐ ์ด๋ myFunc๋ฅผ ์คํํ๋ฉด makeFunc๋ด๋ถ์ ๋ณ์ name์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค. ์์์ ์ผ๋ก๋ ํจ์๊ฐ ์ข ๋ฃ๋๋ค๋ฉด ๊ทธ ํจ์์ ๋ณ์์๋ ์ฐธ์กฐํ ์ ์๋ ๊ฒ์ด ๋ง์ํ ๋ฐ ์ด ๊ตฌ์กฐ์์๋ ํจ์๊ฐ ์ข ๋ฃ๋์ด๋ ์ด๋ ํ ๋ณ์์ ์ํด์ ์ฐธ์กฐ๋๊ณ ์๊ธฐ ๋๋ฌธ์ ์ข ๋ฃ๋ ํจ์์ ๋ณ์์๋ ์ฐธ์กฐํ ์ ์๊ฒ ๋๋ค. ์ฆ "์ธ๋ถํจ์๊ฐ ์ข ๋ฃ๋์ด๋ ์ฐธ์กฐ๋ง ๋๋ค๋ฉด ๊ทธ ํจ์ ๋ด๋ถ์ ๊ฐ๋ค..
2022.04.07