๐ Book/Core Javascript(2)
-
์๋ฐ์คํฌ๋ฆฝํธ ์คํ์ปจํ ์คํธ
1. ์คํ ์ปจํ ์คํธ (Execution context) 1 - 1. ์คํ ์ปจํ ์คํธ ์คํ ์ปจํ ์คํธ : ์ฝ๋๋ฅผ ์คํํ ๋ ์ ๊ณต๋๋ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๋ชจ์ ๋ ๊ฐ์ฒด. ํ๋์ ์คํ ์ปจํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ฃผ๋ก ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ๋๋ค. (์ด์ธ์๋ ์ ์ญ๊ณต๊ฐ์ด๋ eval() ํจ์ ๋ฑ์ด ์์ง๋ง ์ง๊ธ์ ํจ์คํ๊ฒ ์ต๋๋ค.) ์คํ ์ปจํ ์คํธ๋ฅผ ์ง์ญํ๋ฉด ์คํ ๋ฌธ๋งฅ์ธ๋ฐ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฌธ๋งฅ, ์ฆ ์ฝ๋๋ฅผ ์คํํ ๋ ํ์ํ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๋ปํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฝ๋๋ฅผ ์คํํ ๋ ํ์ํ ํ๊ฒฝ ์ ๋ณด๋ ๋ฌด์์ด๋ฉฐ, ์ด๋ป๊ฒ ์์ฑ๋๋ ๊ฒ์ผ๊น์? ๋ฐ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ํธ์ถ๋๋ ํจ์์ ๊ด๋ จ๋ ์ ๋ณด(=ํ๊ฒฝ์ ๋ณด)๋ฅผ ์์งํ์ฌ ์คํ ์ปจํ ์คํธ ๊ฐ์ฒด์ ์ ๋ฌ/์ ์ฅํ ๋ ์์ฑ๋ฉ๋๋ค. ์ด ๊ฐ์ฒด(์คํ ์ปจํ ์คํธ) ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ํ์ฉํ ๋ชฉ์ ์ผ๋ก ์์ฑ๋๊ธฐ ๋๋ฌธ์ ..
2021.09.26 -
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ํ์
๋ณธ ํฌ์คํ ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋์ ๋ ์ ํด๋ณธ ํ ์๊ธธ ์ ์๋ ์๋ฌธ์ ์ ์ฌ๋์๊ฒ ๋ค๋ฃจ๋ ํฌ์คํ ์ ๋๋ค. ์ฃผ์ ๋ ์๋์ ๊ฐ์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์ ํ์ ์ ๋ฐ๋ฅธ ์ฐธ์กฐ ๋ฐฉ์ : ํํ call by value, call by reference ๋ผ ์๋ ค์ง ๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ถ๋ณ์ฑ : ๊ฐ๋ณ ๊ฐ์ฒด์ ๋ถ๋ณ ๊ฐ์ฒด undefined ์ null ์ฐจ์ด ๐ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์ ํ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐ์ดํฐ ํ์ ์ ํฌ๊ฒ ๊ธฐ๋ณธํ(primitive type) ๊ณผ ์ฐธ์กฐํ(reference type) ๋ ๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธํ(๋ฌธ์ํ, ์ซ์ํ, ๋ถ๋ฆฐ ๊ฐ ๋ฑ) ๊ณผ ์ฐธ์กฐํ(๋ฐฐ์ด, ๋ ์ง, ํจ์ ๋ฑ)์ ๋ถ๋ฆฌํ๋ ๊ธฐ์ค์ ๋ฐ์ดํฐ์ ์ ์ฅ ๋ฐฉ์์ ๋๋ค. ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ ๋, ๊ธฐ๋ณธํ์ ๋ฉ๋ชจ๋ฆฌ์์ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ์ ์ฅ๋..
2021.08.14