- ๊ฐ๋ ์ ๋ฆฌ ๋ฐ๋ก๊ฐ๊ธฐ
- ์์
- ์ค์ต ๋ฐ๋ก๊ฐ๊ธฐ
[๋ฉ์๋์ ์ด ๋ฉ์๋๊ฐ ๊ฐ๋ฆฌํค๋ this ์ฐพ๊ธฐ - ๊ฐ์ฒด ๋ฆฌํฐ๋ด์์ 'this' ์ฌ์ฉ] ๋ฐ๋ก๊ฐ๊ธฐ
- ํจ์ makeUser๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
์ด ๊ฐ์ฒด์ ref์ ์ ๊ทผํ๋ฉด ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๊ณ , ๊ทธ ์ด์ ๋ ๋ญ๊น์?
function makeUser() {
return {
name: "John",
ref: this
};
};
let user = makeUser();
alert( user.ref.name ); // ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋ ๊น์?- ๋์ ๋๋ต: this๋ window๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋ก ์๋ฌ
- ๋ต์ง: this ๊ฐ์ ์ค์ ์ ๊ฐ์ฒด ์ ์๊ฐ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. (ํธ์ถ ์์ ์ ๊ฒฐ์ )
- ์ ์ฝ๋์์ makeUser() ๋ด this๋ ํจ์๋ก์จ ํธ์ถ๋์๊ธฐ ๋๋ฌธ์ undefined๊ฐ ๋๋ค.
- this ๊ฐ์ ์ ์ฒด ํจ์๊ฐ ๋๋ฒ๋ฆฐ๋ค.
[์ฒด์ด๋]๋ฐ๋ก๊ฐ๊ธฐ 2.