function App() {
this.contents = [];
}
App();
App ํจ์๋ฅผ ์ ์ธํ๊ณ this.contents๋ก contents๋ผ๋ ์ํ๋ฅผ ๊ด๋ฆฌ ํ๊ณ ์ ํ๋๋ฐ, ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
thisํค์๋๋ฅผ ์ดํดํ์ง ๋ชปํด ๋ฐ์ํ ์๋ฌ์๋ค.
this ํค์๋์ ์๋ฏธ
this๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ ์ด ์ํด ์๋ ๊ฐ์ฒด๋ฅผ ์ง์นญํ๋ค.
const person = {
sayHi() {
console.log(this); // person ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฅดํจ๋ค.
}
}
๋ฐ๋ผ์ ์ ์ญํจ์์์์ this๋ window ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ์ ์ญ scope์์ ํจ์๋ฅผ ์ ์ธํ๋ฉด window ๊ฐ์ฒด์ ์ถ๊ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ค๋ง strict mode์ผ ๋ ์ ์ญํจ์์์ this๋ฅผ ์ฌ์ฉํ๋ฉด undefined๊ฐ ์ถ๋ ฅ๋๋ค. ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ด์ ๋ ์ด์ ๊ด๋ จ์ด ์๋ค. index.js์์ Appํจ์๋ฅผ ๋ฐ๋ก ์ ์ธํ๊ธฐ ๋๋ฌธ์ App์ ์ ์ญํจ์๊ฐ ๋๋ค. ๋ฐ๋ผ์ this๊ฐ undefined๋ฅผ ๊ฐ๋ฅด์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋ฐ๋ผ์ Appํจ์๋ฅผ ์ ์ธํ ๋ค์ ์ด๋ฅผ ์ฌ์ฉํด ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํด์ค๋ค. ๊ทธ๋ฌ๋ฉด this๊ฐ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฅดํค๊ฒ ๋์ด ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
function App() {
this.contents = [];
}
const app = new App();
'Vanilla JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Vanilla Javascript๋ก SPA ๊ตฌํํ๊ธฐ(ํ๋ก๊ทธ๋๋จธ์ค ์ผํ๋ชฐ SPA) (0) | 2022.11.11 |
---|---|
โDOM์ ์ง์ ์กฐ์ํ๋คโ ์ ์๋ฏธ์ ์ปดํฌ๋ํธ์ ๋ณธ์ง (0) | 2022.10.08 |
๊ฐ์ฒด ํ๋กํผํฐ์ ์ ๊ทผํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ (0) | 2022.09.11 |
๋ด ์ฝ๋๊ฐ ์ฐ์ํ์ง ์์ ์ด์ (0) | 2022.08.17 |
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ํจ์๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ ๋ ๊ฐ์ง (0) | 2022.08.17 |