๊ฐ์ฒด๋?
-
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ ์ญ๊ฐ์ฒด๋? ์ ์ญ๊ฐ์ฒด(Global object)๋ ํน์ํ ๊ฐ์ฒด๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ ์ด ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. func();์ window.func();๋ ๋ชจ๋ ์คํ์ด ๋๋ค. ๋ชจ๋ ์ ์ญ๋ณ์์ ํจ์๋ ์ฌ์ค window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. ๊ฐ์ฒด๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ์์์ ์ผ๋ก window์ ํ๋กํผํฐ๋ก ๊ฐ์ฃผ๋๋ค. ํ์์ ๊ทธ๋ฅ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ตํด์ ์ฌ์ฉํ๋ ๊ฒ์ผ ๋ฟ์ด๋ค. ๋ด๋ถ์ ์ผ๋ก ๋ช ์ํ ๊ฒ๊ณผ ๊ฐ๊ฒ ๋์ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ฐ๋ผ๋ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ ์ด๋ฏ๋ก, ๊ฐ์ฒด๋ผ๋ ๊ฒ์ ๋ชจ๋ ๊ฒ์ด ์ข ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ์งํฅ์ธ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ชจ..
[Js] ์ ์ญ ๊ฐ์ฒด | ์ ์ญ๊ฐ์ฒด APIํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ ์ญ๊ฐ์ฒด๋? ์ ์ญ๊ฐ์ฒด(Global object)๋ ํน์ํ ๊ฐ์ฒด๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ ์ด ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. func();์ window.func();๋ ๋ชจ๋ ์คํ์ด ๋๋ค. ๋ชจ๋ ์ ์ญ๋ณ์์ ํจ์๋ ์ฌ์ค window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. ๊ฐ์ฒด๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ์์์ ์ผ๋ก window์ ํ๋กํผํฐ๋ก ๊ฐ์ฃผ๋๋ค. ํ์์ ๊ทธ๋ฅ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ตํด์ ์ฌ์ฉํ๋ ๊ฒ์ผ ๋ฟ์ด๋ค. ๋ด๋ถ์ ์ผ๋ก ๋ช ์ํ ๊ฒ๊ณผ ๊ฐ๊ฒ ๋์ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ฐ๋ผ๋ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ ์ด๋ฏ๋ก, ๊ฐ์ฒด๋ผ๋ ๊ฒ์ ๋ชจ๋ ๊ฒ์ด ์ข ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ์งํฅ์ธ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ชจ..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming)์ ์ข ๋ ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ผ๋ก ๋ก์ง์ ์ํ(state)์ ํ์(behave)๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ฒด๋ค์ ๋ง์น ๋ ๊ณ ๋ธ๋ญ์ฒ๋ผ ์กฐ๋ฆฝํด์ ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค์ ๋งํด์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์์์ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ง์ด ์ด๋ ต๊ฒ ๋๊ปด์ง์ง ์๋๊ฐ? ๊ทธ๊ฒ์ ์์ง ๊ฐ์ฒด ์งํฅ์ ๋ํ ์ฒดํ์ด..
[Js] ๊ฐ์ฒด์งํฅ | javascript ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ | ๋ฌธ๋ฒํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming)์ ์ข ๋ ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ผ๋ก ๋ก์ง์ ์ํ(state)์ ํ์(behave)๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ฒด๋ค์ ๋ง์น ๋ ๊ณ ๋ธ๋ญ์ฒ๋ผ ์กฐ๋ฆฝํด์ ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค์ ๋งํด์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์์์ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ง์ด ์ด๋ ต๊ฒ ๋๊ปด์ง์ง ์๋๊ฐ? ๊ทธ๊ฒ์ ์์ง ๊ฐ์ฒด ์งํฅ์ ๋ํ ์ฒดํ์ด..
2021.02.04