์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ์ผ๋ก ํ์ ์ด ์ ํด์ง๋ ์ธ์ด์ ๋๋ค. C์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ ์ฝ๋ฉํ ๋, ํ์ ์ ํ์คํ ์ ํด๋๊ณ , ์ปดํ์ผ๋ฌ๋ ์ด๋ฅผ ํตํด ํ์ ์ ์๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ทธ๋ ์ง ์์ฃ . ๊ทธ๋ฆฌ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ var, let, const๊ฐ ์์ต๋๋ค. ์ด๋ ํ์คํ int, double ๋ฑ ๊ณผ๋ ๋ค๋ฆ์ ์ ์ ์์ฃ .
์๋ฃํ์๋ ๊ธฐ๋ณธ ์๋ฃํ ์ฆ, primitive ์๋ฃํ๊ณผ Object ์๋ฃํ์ด ์์ต๋๋ค. primitive๋ Boolean, Null, Undefined, Number, String, Symbol์ด ์๊ณ , Object๋ ์๋ฐ์คํฌ๋ฆฝํธ์ Array๋ Date๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋งํฉ๋๋ค. ๊ฐ๊ฐ์ ํน์ง์ ์ถํ์ ๋ฐ๋ก๋ฐ๋ก ํฌ์คํ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์์ธํ ๊ฒ์ MDN ์ฌ์ดํธ์์ ํ์ธํ ์ ์๊ณ , ์ด๋ฐ ๊ณต์๋ฌธ์๋ฅผ ์ฝ๋ ๊ฒ์ ์ค๋ ฅํฅ์์ ๋ง์ ๋์์ด ๋ฉ๋๋ค.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ฃํ
๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ด์ฅ ์๋ฃํ์ด ์์ง๋ง, ์ข ์ข ์ด๋ฌํ ๋ด์ฅ ์๋ฃํ์ ์ธ์ด๋ง๋ค ๋ค๋ฅด๋ค. ์ด ๋ฌธ์์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ด์ฅ ์๋ฃํ๊ณผ, ๋ด์ฅ ์๋ฃํ์์ ์ฌ์ฉํ ์ ์๋ ์์ฑ๋ค์ ๋ํด ์๏ฟฝ
developer.mozilla.org
๊ทธ๋ผ, var let const์ ๋ํด ์์๋ด ์๋ค. ์ฐ๋ฆฌ๊ฐ ๋ณ์๋ฅผ ์์ฑํ๊ณ , ํ ๋นํ ํ์๊ฐ ์์ ๋, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ var๋ฅผ ์ฌ์ฉํ์ต๋๋ค. var๋ function scope์ด๊ณ , ์ด ๋ง์ ๋์ค์ ๋ฐ๋ก ํฌ์คํ ํ ํ ๋ ๊ฐ๋ณ๊ฒ ์๊ณ ์์ผ์๋ฉด ๋ฉ๋๋ค. ์ฌ๋ฌ ํน์ง์ผ๋ก ์ธํด var๋ ์ฌ๋ฌ ์ค๋ฅ๋ฅผ ์ผ์ผํฌ ์์ง๋ฅผ ์ ๊ณตํ์ต๋๋ค(์ด ๋ํ ์ถํ์ var์ ๋ํ ํฌ์คํ ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค). ๋ฐ๋ผ์
es-2015์์๋ ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ let, const๋ฅผ ๋์ ํฉ๋๋ค.
let์ var์ ์ด๋ค ์ ์ ์ปค๋ฒํด ์ฃผ๋ ๊ฒ์ด๋? ๋ฐ๋ก ๋ณ์๋ฅผ ๋ ์ ์ธํ๋ ๊ฒ์ ๋๋ค.
var a = 10;
var a = 20;
์ด๋ ๊ฒ ํ๋๋ผ๋ ๊ด์ฐฎ์ต๋๋ค. ํ์ง๋ง ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ด์ ์์ ๋น์์์ ์ด๊ธฐ๋ ํ๊ณ , ํ๋ก์ ํธ๊ฐ ์ปค์ก์ ๋๋ ๋น์ฐํ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
let a = 10์ผ๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ฉด, ์ ๋๋ก ์ ์ฒ๋ผ ๋ค์ ํ๋ฒ ๋ ๋ณ์๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค.
const๋ ์์์ ๋๋ค. ๋ณ์๋ ๋ณํ๋ ์์ด๊ณ , ์์๋ ๋ณํ์ง ์๋ ๊ฐ์ ์๋ฏธํฉ๋๋ค. ์ฐธ๊ณ ๋ก let a = 10; ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ถํ์ a=20;์ผ๋ก ์ฌํ ๋น์ ํ ์ ์์ต๋๋ค. (์ฌํ ๋น ์ด์ง ์ฌ์ ์ธ์ด ์๋๋๋ค.) const๋ ์ฌํ ๋น์ด ๋ถ๊ฐํฉ๋๋ค. ์ฆ ํ๋ฒ ํ ๋นํ๋ฉด ๋ณํ์ง ์๋ ๊ฐ์ const๋ก ๋ณํํฉ๋๋ค.
๊ทธ๋ผ, ์ค๋์ ์ฌ๊ธฐ๊น์ง ํฌ์คํ ์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ธฐ์ด๋ถํฐ ์ฒ์ฒํ ๋ฆ์ด๋ ๊ด์ฐฎ๋ค.
'์๋ฐ์คํฌ๋ฆฝํธ > ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฅ๋ค์ด๋ธ] ๋๊ธฐ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ด์ฉ์ ๋ฆฌ (0) | 2023.07.26 |
---|---|
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ fetch API ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2023.07.12 |
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋จ์ผ ์ค๋ ๋๋ก ์คํ๋๋ค 1 (0) | 2023.01.30 |
์๋ฐ์คํฌ๋ฆฝํธ addEventListener ์ฝ๋ฐฑํจ์๋ฑ๋ก (0) | 2020.09.28 |
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ prototype ๊ธฐ๋ฐ ์ธ์ด๋ผ๊ณ ๋ถ๋ฆด๊น? (0) | 2020.09.09 |