[JS์คํฐ๋] ๋ณ์, ํํ์, ๋ฌธ
2023. 3. 31. 02:26ใJavaScript
๋ณ์
๐ก CPU ์ ๋ฉ๋ชจ๋ฆฌ
- CPU: ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ฐ
- ๋ฉ๋ชจ๋ฆฌ: ์ ํ๋๋ 1Byte (=8bit)
-- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์: ๊ฐ ์ ์ ๊ณ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์น (0๋ถํฐ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊น์ง์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์)
-- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ์ข ๋ฅ์ ์๊ด์์ด 2์ง์๋ก ์ ์ฅ๋จ
- CPU๊ฐ ์ฐ์ฐํ ๊ฒฐ๊ณผ๊ฐ์ ์ฌ์ฌ์ฉํ๋ ค๋ฉด?
- โ ‘์ง์ ์ ๊ทผ’ → ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์ ์ดํ๋ ๊ฒ์ ํ์ฉ X
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ‘์ง์ ์ ๊ทผ’ ํ๋ ๊ฒ์ ์์คํ ์ ์น๋ช ์ ์ธ ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ์ ์์
- ์ง์ ์ ๊ทผํ๊ณ ์ถ์ด๋ ๋ชป ํจ (์ฐ์ฐํ ๋๋ง๋ค ๊ฒฐ๊ณผ๊ฐ์ ์์์ ์ฃผ์์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ)
- โญ๏ธ ‘๋ณ์’ ์ฌ์ฉ → ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํตํด ์ ๊ทผํ ํ์ ์์ด ๋ณ์๋ฅผ ํตํด ์์ ํ๊ฒ ์ ๊ทผ ๊ฐ๋ฅ!
- ๋ณ์ : ํ๋์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ํ๋ณดํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์์ฒด ๋๋ ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ณํ๊ธฐ ์ํด ๋ถ์ธ ์ด๋ฆ
- ๊ฐ์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์์ง์ ์ธ ์ด๋ฆ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ปดํ์ผ๋ฌ ๋๋ ์ธํฐํ๋ฆฌํฐ์ ์ํด ๊ฐ์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์๋ก ์นํ๋์ด ์คํ๋จ
- โ ‘์ง์ ์ ๊ทผ’ → ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์ ์ดํ๋ ๊ฒ์ ํ์ฉ X
ํ ๋น
: ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ฐธ์กฐ
: ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด๋ค์ด๋ ๊ฒ- ๋ณ์ ์ด๋ฆ์ ํตํด ์ฐธ์กฐํ ๋, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋ณ์ ์ด๋ฆ(์๋ณ์)๊ณผ ๋งคํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ๊ทผํ์ฌ ์ ์ฅ๋ ๊ฐ์ ๋ฐํํ๋ค.
์๋ณ์
- ์๋ณ์ : ์ด๋ค ๊ฐ(๋ณ์, ํจ์, ํด๋์ค ๋ฑ)์ ๊ตฌ๋ณํด์ ์๋ณํ ์ ์๋ ๊ณ ์ ์ ์ด๋ฆ. ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋ถ์ธ ์ด๋ฆ.
- ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ
- ๋ค์ด๋ฐ ๊ท์น: ํน์๋ฌธ์ ์ ์ธํ ๋ฌธ์, ์ซ์, _, $ (๋จ, ์ซ์๋ก ์์X, ์์ฝ์ดX) | ๋์๋ฌธ์ ๊ตฌ๋ถO
- ๋ค์ด๋ฐ ์ปจ๋ฒค์ : camelCase, snake_case, PascalCase, typeHungarianCase
- ๊ฐ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ณ ์์
- ๊ฐ์ด ์ ์ฅ๋์ด ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์์ ๋งคํ ๊ด๊ณ๋ฅผ ๋งบ์ (๋งคํ ์ ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ)
- ์ ์ธ ์ ํตํด ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์๋ณ์์ ์กด์ฌ(๊ฐ์ด ์์ฑ๋จ)๋ฅผ ์๋ฆผ
- ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ
๋ณ์ ์ ์ธ
- ๋ณ์ ์ ์ธ : ๋ณ์๋ฅผ ์์ฑํ๋ ๊ฒ.
- ๋ณ์ ์ด๋ฆ์ ๋ฑ๋ก, ๊ฐ ์ ์ฅ์ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณด
- ๋ณ์ ์ด๋ฆ๊ณผ ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ์ฐ๊ฒฐ → ๊ฐ์ ์ ์ฅํ ์ ์๊ฒ ์ค๋น
- ๋ณ์ ์ ์ธ์ ์ํด ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณด๊ฐ ํด์ ๋๊ธฐ ์ ๊น์ง ๋๊ตฌ๋ ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ์ฉํ ์ ์์
- ์ ์ธ ๋จ๊ณ , ์ด๊ธฐํ ๋จ๊ณ 2๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ ์งํ
- ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๋์ ๋ณ์ ์ ์ธ์ด ํ์
- ์ ์ธ ๋ฐฉ๋ฒ: var, let, const ํค์๋ ์ฌ์ฉ
- var : ๋ค์ ์ค๋ ๋ณ์ ์ด๋ฆ์ผ๋ก ์๋ก์ด ๋ณ์๋ฅผ ์ ์ธํ ๊ฒ์ ์ง์ํ๋ ํค์๋
- ์ ์ธ ์งํ ์์ง ํ ๋น ์ ํ ์ํ: ๋ฉ๋ชจ๋ฆฌ
๋น์ด์๋ ๊ฒ์ด ์๋๋ผ, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด **undefined** ๊ฐ์ ์๋ฌต์ ์ผ๋ก ํ ๋น๋๋ฉด์ ์ด๊ธฐํ - ์ ์ธ ๋จ๊ณ ์ ์ด๊ธฐํ ๋จ๊ณ ๋์์ ์งํ (์ ์ธ๊ณผ ๋์์ undefined๊ฐ์ด ํ ๋น)
- ์ ์ธ ์งํ ์์ง ํ ๋น ์ ํ ์ํ: ๋ฉ๋ชจ๋ฆฌ
- ReferenceError : ์ ์ธ๋์ง ์์ ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ค ํ ๋ ๋ฐ์ํ๋ ์๋ฌ (๋ฑ๋ก์ด ์ ๋ ๋ณ์ ์ ๊ทผ ์)
๋ณ์ ์ ์ธ์ ์คํ ์์ ๊ณผ ๋ณ์ ํธ์ด์คํ
- ๋ณ์ ์ ์ธ์ ๋ฐํ์(์์ค์ฝ๋๊ฐ ํ ์ค์ฉ ์คํ๋๋ ์์ )์ด ์๋๋ผ ๊ทธ ์ด์ ๋จ๊ณ(์์ค์ฝ๋ ์คํ์ ์ํ ์ค๋น ๋จ๊ณ์ธ ‘์์ค์ฝ๋ ํ๊ฐ ๊ณผ์ ’)์์ ๋จผ์ ์คํ๋๋ค.
- ์์ค์ฝ๋ ์คํ ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋ชจ๋ ์ ์ธ๋ฌธ์ ์คํํ๊ณ , ๊ทธ ํ์ ์ ์ธ๋ฌธ๋ค์ ์ ์ธํ ๋๋จธ์ง ์์ค์ฝ๋๋ฅผ ํ ์ค์ฉ ์์ฐจ์ ์ผ๋ก ์คํํ๋ค.
- ๋ฐ๋ผ์ ๋ณ์ ์ ์ธ๋ฌธ์ด ์์ค์ฝ๋ ์ด๋์ ์์นํ๋ ์๊ด์์ด ์ด๋์๋ ๋ณ์ ์ฐธ์กฐ ๊ฐ๋ฅ
- ๋ณ์ ํธ์ด์คํ
: ๋ณ์ ์ ์ธ๋ฌธ์ด ์ฝ๋์ ์ ๋๋ก ๋์ด์ฌ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณ ์ ์ ํน์ง
- ์ ์ธ๋ฌธ์ ๋ชจ๋ ๋ฐํ์ ์ด์ ๋จ๊ณ์์ ๋จผ์ ์คํ๋๋ค = ํธ์ด์คํ ๋๋ค
- var, let, const, function, function*, class ํค์๋๋ฅผ ํตํด์ ์ ์ธํ๋ ๋ชจ๋ ์๋ณ์๋ ํธ์ด์คํ ๋๋ค.
๊ฐ์ ํ ๋น
- ํ ๋น ์ฐ์ฐ์
- ๋ณ์ ์ ์ธ๊ณผ ๊ฐ์ ํ ๋น - ํ๋์ ๋ฌธ์ฅ์ผ๋ก ๋จ์ถํด๋๋ ์์ง์ ์ ์ธ, ํ ๋น ๋ ๊ฐ๋ก ๋๋ ์ ์คํ
- undefined๋ก ํ ๋น๋ ๋ณ์์ ๊ฐ์ 80์ผ๋ก ๋ณ๊ฒฝ(์ฆ ์ฌํ ๋น)ํ ๊ฒฝ์ฐ
- undefined๊ฐ ์ ์ฅ๋ผ ์๋ ๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋น์ฐ๊ณ ๋ค์ ๊ทธ ๊ณณ์ 80์ ์ ์ฅํ๋ ๊ฒ์ด ์๋๋ผ,
- ‘์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณด’ํ๊ณ ๊ทธ๊ณณ์ 80์ ์ ์ฅ
๊ฐ์ ์ฌํ ๋น
- ์ด๋ฏธ ๊ฐ์ด ํ ๋น๋ ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ
cf. ์์ : ๊ฐ์ ์ฌํ ๋นํ ์ ์๋ ๊ฒ. ๋จ ํ๋ฒ์ ํ ๋น๋ง ๊ฐ๋ฅํจ.
- ๊ธฐ์กด ๊ฐ์ด ์ ์ฅ๋ผ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋น์ฐ๊ณ ์๋ก ์ ์ฅํ๋ ๊ฒ ์๋๋ผ, ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ๊ฑฐ๊ธฐ์ ์ ์ฅ
- ๊ฐ๋น์ง ์ฝ๋ ํฐ ์ ์ํด ์ธ์ ๊ฐ ์ฌํ ๋น ์ ์ ๋ถํ์ํ ๊ธฐ์กด ๊ฐ๋ค์ ๋ฉ๋ชจ๋ฆฌ์์ ์๋ ํด์ ๋จ. ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ(์ด๋ค ์๋ณ์๋ ์ฐธ์กฐํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ)๋ฅผ ํด์ ํจ.
- ๊ฐ: ํํ์์ด ํ๊ฐ๋์ด ์์ฑ๋ ๊ฒฐ๊ณผ
- ๋ฆฌํฐ๋ด: ์ฌ๋์ด ์ดํดํ ์ ์๋ ๋ฌธ์ or ์ฝ์๋ ๊ธฐํธ๋ก ํ๊ธฐํ ์ฝ๋
- ๋ฆฌํฐ๋ด์ ํ๊ฐ๋์ด ๊ฐ์ ์์ฑํ๋ค.
- ๊ฐ์ ์์ฑํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ฝ์ํ ํ๊ธฐ๋ฒ.
- ํํ์: ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ๋ฌธ
- ๋ฌธ: ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ๋จ์์ด์ ์ต์ ์คํ ๋จ์
ํํ์
- ํํ์ ์ ํ๊ฐ๋์ด ๊ฐ์ ์์ฑํ๋ค.
- ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ๋ฌธ
๋ฌธ
- ๋ฌธ ์ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ๋จ์์ด์ ์ต์ ์คํ ๋จ์
- ํ ํฐ : ๋ฌธ๋ฒ์ ์ผ๋ก ๋ ์ด์ ๋๋ ์ ์๋ ์ฝ๋์ ๊ธฐ๋ณธ ์์
- ํ ํฐ์ด ๋ชจ์ฌ ๋ฌธ์ด ๋จ
- ์ปดํจํฐ์ ๋ด๋ฆฌ๋ ๋ช ๋ น์ด
- ํํ์์ธ ๋ฌธ , ํํ์์ด ์๋ ๋ฌธ
- ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ๋ฌธ, ์๋ ๋ฌธ
- ๋ณ์์ ํ ๋นํ ์ ์๋ ๋ฌธ, ์๋ ๋ฌธ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS์คํฐ๋] ์คํ ์ปจํ ์คํธ, ์ค์ฝํ (0) | 2023.04.04 |
---|---|
[JS์คํฐ๋] ํจ์ (0) | 2023.04.04 |
[JS์คํฐ๋] ์์ ๊ฐ๊ณผ ๊ฐ์ฒด์ ๋น๊ต (0) | 2023.04.03 |
[JS์คํฐ๋] ์ ์ด๋ฌธ, ํ์ ๋ณํ๊ณผ ๋จ์ถํ๊ฐ (0) | 2023.03.31 |
[JS ์คํฐ๋] ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์ (0) | 2023.03.31 |