๐จ JavaScript/์ ๋ฆฌ
JavaScript ์ ๋ฆฌ : this (2) ํ์ดํํจ์์์์ this
์ฌ๊ธฐ์ ์ ๊น๐ ํ์ดํ ํจ์์ ํน์ง ์์ฑ์๋ก ์ฌ์ฉํ ์ ์์ ์ค์ค๋ก์ this, argument๋ฅผ ๊ฐ์ง์ง ์์ returnํ์ง ์์๋ ๊ฐ์ด ๋ฐํ๋จ (๋ณธ๋ฌธ์ด ์ฌ๋ฌ ์ค๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ๋ ์ ์ธ) ํ์ดํ ํจ์์ this๋? this = ํจ์๊ฐ ์ ์๋ ์ค์ฝํ์ this๋ฅผ ๊ฐ๋ฆฌํด (์์ฑ๋ ๋ this๊ฐ ๊ฒฐ์ ๋๋ฉฐ, ํ์ดํํจ์๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ/ํธ์ถ๋๋ this๋ ๋ณํ์ง ์๋๋ค.) const obj = { name: '์ฒ ์', sayName: function() { const innerMethod = () => { return `${this.name}, ์๋ !`; }; console.log(innerMethod()); } }; obj.sayName(); // ์ฒ ์, ์๋ ! → ๊ทธ๋ฌ๋ฏ๋ก ๊ฐ์ฒด์ ๋ฉ์๋๋ ํ์ดํ ํจ์๋ก ์ ์ํ์ง..
JavaScript ์ ๋ฆฌ : this (1) ์ํฉ๋ณ this
JavaScript์์ this๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ ์ ํด์ ธ ์์ง ์์ผ๋ฉฐ, ํธ์ถ๋ ๋ ๊ฒฐ์ ๋๋ค. ์๋์ฒ๋ผ ๋ค์ํ ์ํฉ์์ this๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋๋์ง ์์๋ณด์. (ํ์ดํํจ์์์์ this๋ ๋ค์ ๊ธ์์ ์ ๋ฆฌํ๋ค.) ๋ชฉ์ฐจ ์ ์ญ ์ปจํ ์คํธ (Global scope) & ํจ์ ํธ์ถ ๊ฐ์ฒด์ ์ํ ๋ฉ์๋ ํธ์ถ ๊ฐ์ฒด์ ์ํ ๋ฉ์๋์ ๋ด๋ถ ํจ์ ํธ์ถ ํจ์๋ฅผ ๋ฉ์๋๋ก ํธ์ถ (call, apply, bind) ์์ฑ์ ํจ์ ํธ์ถ ํด๋์ค ์ด๋ฒคํธ ํธ๋ค๋ฌ "use strict" ๋ชจ๋ 1. ์ ์ญ ์ปจํ ์คํธ (Global scope) & ํจ์ ํธ์ถ this = ์ ์ญ ๊ฐ์ฒด (๋ธ๋ผ์ฐ์ ์์๋ window) console.log(this); // ์ ์ญ ๊ฐ์ฒด (๋ธ๋ผ์ฐ์ ์์๋ window) function myFunction() { co..