2025. 8. 5. 17:46ใFront-end/JavaScript

๋ชฉ์ฐจ
1. ๋ณ์์ ์์
1-1. ๋ณ์
1-2. ์์
1-3. ๋ณ์๋ช , ์์๋ช ์ง๋ ๋ฒ
2. var, let, const์ ๋น๊ต (์ค๋ณต์ ์ธ/์ค์ฝํ/ํธ์ด์คํ )
3. ์๋ฃํ
3-1. ์ฌ๋๊ฐ์ง ์๋ฃํ
3-2. typeof ์ฐ์ฐ์
1. ๋ณ์์ ์์
1. ๋ณ์ (variable)
๋ณ์๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์๋ var, let ํค์๋๋ฅผ ์ฌ์ฉํด ๋ณ์๋ฅผ ์์ฑํ๋ค.
let msg; // ๋ณ์ ์ ์ธ
let user = 'bang', age = 26; // ์ฌ๋ฌ ๋ณ์ ํ๊บผ๋ฒ์ ์ ์ธ
msg = 'Hello';
alert(msg); // Hello
msg = 'world';
alert(msg); // world
ํ ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๋ณ์์ ๋ณต์ฌํ ์๋ ์๋ค.
let a = 'a';
let b = a;
alert(a); // a;
alert(b); // a;
์๊ฒฉ ๋ชจ๋๊ฐ ์๋ ์, ๋ณ์๋ฅผ let์ผ๋ก ์ ์ธํ์ง ์๊ณ ์๋ฌด๋ ๊ฒ๋ ์ฌ์ฉํด๋ ์์ฑ๋์ง๋ง,
์ ์ง๋ณด์ ๋ฑ์ ์ด์ ๋ก ๋ณ์๋ ์ ์ธ์ ํ์ฌ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค.
var๋ ์์ ์ ๋ง์ด ์ฌ์ฉํ๋ ๋ณ์ ์ ์ธ ํค์๋๋ก, ์๋์ ๊ฐ์ ๋ฌธ์ ์ ์ด ์์ด ์ด์ ๋ ์ ์ฌ์ฉํ์ง ์๋๋ค.
- ๋ธ๋ก์ค์ฝํ๊ฐ ์๋ ํจ์์ค์ฝํ/์ ์ญ ์ค์ฝํ์ด๋ค.
- ๋ณ์์ ์ค๋ณต ์ ์ธ์ ํ์ฉํ๋ค.
- ์ ์ธํ๊ธฐ ์ ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
2. ์์ (constant)
์์๋ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด๋ค.
์์๋ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก, ์์๋ฅผ ๋ณ๊ฒฝํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์๋ const๋ก ์์๋ฅผ ์ ์ธํ๋ค.
const pi = '3.14';
๋๋ฌธ์๋ก ์์๋ช ์ ์ง์ด ๊ฐ๋ ์ฑ์ ๋์ผ ์๋ ์๋ค.
const COLOR_RED = "#F00";
const COLOR_BLUE = "#00F";
3. ๋ณ์๋ช , ์์๋ช ์ง๋ ๋ฒ
๋ณ์ ์ด๋ฆ์ ์ง์ ๋๋ ์ ์ฝ ์ฌํญ์ด 3๊ฐ์ง ์๋ค.
- ๋ณ์๋ช ์๋ ์ซ์์ ๋ฌธ์, ๊ทธ๋ฆฌ๊ณ ๊ธฐํธ $, _๋ง ์ฌ์ฉ
- ์ฒซ ๊ธ์๋ ์ซ์๊ฐ ๋ ์ ์์
- ์์ฝ์ด๋ ๋ณ์๋ช ์ผ๋ก ์ฌ์ฉํ ์ ์์ (let, return, class, function ๋ฑ JS์์ ์ด๋ฏธ ์ฌ์ฉ์ค์ธ ๋จ์ด๋ค)
๋ค์์ผ๋ก ์ ์ฝ์ฌํญ์ ์๋์ง๋ง, ์ฌ๋ฌ ๋จ์ด๋ฅผ ์กฐํฉํ์ฌ ๋ณ์๋ช ์ ์ง์ ๋ ํํ ์นด๋ฉ ํ๊ธฐ๋ฒ(camelCase)๋ฅผ ์ฌ์ฉํ๋ค.
๋ํ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ฌ, apple๊ณผ Apple์ ์๋ก ๋ค๋ฅธ ๋ณ์๊ฐ ๋๋ค.
let $ = 1;
let _ = 2;
let userName;
let commit_msg;
๋ณ์๋ช ์ ์ง๋๋ฐ์ ๊ฐ๋ ฅํ ์ ์ฝ์ ์์ง๋ง ํต์์ ์ผ๋ก ์ ์ฉ๋๋ ๊ท์น์ด ์๋ค. ์นด๋ฉํ๊ธฐ๋ฒ ๊ฐ์ ๊ฒ๋ค
- ์ง๊ด์ ์ด๊ณ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ์ง๊ธฐ
- ์ค์๋ง, ๋๋ฌด ์งง์ ์ด๋ฆ์ ํผํ๊ธฐ
- ์ต๋ํ ์์ ์ ์ด๊ณ ๊ฐ๊ฒฐํ๊ฒ ๋ช ๋ช ํ๊ธฐ
- ์์ ๋ง์ ๊ท์น์ด๋ ์์๋ ํ์ ๊ท์น ๋ฐ๋ฅด๊ธฐ
2. var, let, const์ ๋น๊ต (์ค๋ณต์ ์ธ/์ค์ฝํ/ํธ์ด์คํ )
JS์์ ๋ณ์, ์์๋ฅผ ์ ์ธํ๋ ํค์๋๋ก var, let, const๊ฐ ์๋ค.
์ด ํค์๋๋ค์ ์ค๋ณต ์ ์ธ ํ์ฉ ์ฌ๋ถ, ์ค์ฝํ, ํธ์ด์คํ ๊ด์ ์์ ๋น๊ต๋ฅผ ํด๋ณด์.
| var | let | const | |
| ์ค๋ณต ์ ์ธ | โ
๊ฐ์ ์ค์ฝํ ๋ด์์ ์ค๋ณต ์ ์ธ ํ์ฉ ⋅ ๊ฐ์ ๋ฎ์ด์ด๋ค |
โ ๊ฐ์ ์ค์ฝํ ๋ด์์ ๋ถ๊ฐ | โ ๊ฐ์ ์ค์ฝํ ๋ด์์ ๋ถ๊ฐ |
| ์ค์ฝํ | ⋅ ํจ์ ์ค์ฝํ(function scope) ⋅ ๋ธ๋ก{} ์ค์ฝํ๋ ๋ฌด์ํ๋ค |
⋅ ๋ธ๋ก ์ค์ฝํ(block scope) | ⋅ ๋ธ๋ก ์ค์ฝํ(block scope) |
| ํธ์ด์คํ | โ
์ ์ธ์ด ํธ์ด์คํ
๋จ ⋅ ์ค์ฝํ ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ ค์ ธ undefined๋ก ์ด๊ธฐํ๋๋ค |
โ
์ ์ธ์ด ํธ์ด์คํ
๋จ โ Temporal Dead Zone(TDZ)๋๋ฌธ์ ์ ์ธ ์ ์ ๊ทผ ์ ReferenceError ๋ฐ์ |
โ
์ ์ธ์ด ํธ์ด์คํ
๋จ โ Temporal Dead Zone(TDZ)๋๋ฌธ์ ์ ์ธ ์ ์ ๊ทผ ์ ReferenceError ๋ฐ์ |
| ์ด๊ธฐํ | ⋅ ์ด๊ธฐํํ์ง ์์๋ undefined ํ ๋น | ⋅์ด๊ธฐํํ์ง ์์๋ undefined ํ ๋น | ⋅ ์ ์ธ๊ณผ ๋์์ ๋ฐ๋์ ์ด๊ธฐํ ํ์ |
| ์ฌํ ๋น | ⋅ ๊ฐ๋ฅ | ⋅ ๊ฐ๋ฅ | โ ๋ถ๊ฐ๋ฅ |
์ค์ฝํ์ ํธ์ด์คํ ์ ๋ํ ๋ ์์ธํ๊ณ ๋ฅํ ๋ด์ฉ์ ๋ฐ๋ก ์ ๋ฆฌํ๋ค.
์ค์ฝํ์ ํธ์ด์คํ ํํค์น๊ธฐ
(WIP) ์ค์ฝํ์ ํธ์ด์คํ ํํค์น๊ธฐ
[ ๋ํ ์ด๋ฏธ์ง ]๋ชฉ์ฐจ1. ์ค์ฝํ์ ํธ์ด์คํ ์ ๊ฐ๋ 2. JS์์ง์ด ์ค์ฝํ์ ํธ์ด์คํ ์ ๊ตฌํํ๋ ๋ฐฉ์3. 001. ์ค์ฝํ์ ํธ์ด์คํ ์ ๊ฐ๋ โ ์ค์ฝํ๋ณ์์ ํจ์๊ฐ ์ ํจํ๊ฒ ์ ๊ทผํ ์ ์๋ ๋ฒ์์ค์ฝํ ์ข
ldd6cr-adness.tistory.com
3. ์๋ฃํ
1. ์ฌ๋๊ฐ์ง ์๋ฃํ
์๋ฐ์คํฌ๋ฆฝํธ์๋ ์ฌ๋๊ฐ์ง์ ๊ธฐ๋ณธ ์๋ฃํ์ด ์๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์๋ ํน์ ์๋ฃํ์ผ๋ก ์ ํด์ง์ง ์๊ณ , ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ ์๋ฃํ์ด ๋ ์ ์๋ค.
์๋ฃ์ ํ์ ์ ์์ง๋ง, ๋ณ์์ ์ ์ฅ๋๋ ๊ฐ์ ํ์ ์ด ์ธ์ ๋ ์ง ๋ฐ๋ ์ ์๋ ๋์ ํ์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ด๋ค.
| ์์ ์๋ฃํ | Number | • ์ ์, ๋ถ๋์์์ ์ซ์๋ฅผ ํํ • ์ผ๋ฐ ์ซ์ ์ธ ํน์ ์ซ์๊ฐ์ ํฌํจ (Infinity, -Infinity, NaN) |
| BigInt | • ์ซ์ํ ๋ฒ์๋ฅผ ๋ํ๋ด๋ ํฐ๊ฐ, ์์ ๊ฐ์ ํํ • ์ ์ ๋ฆฌํฐ๋ด ๋์ n์ ๋ถ์ด๊ฑฐ๋ ํจ์ BigInt()๋ฅผ ํธ์ถํ์ฌ ๋ฌธ์์ด/์ซ์ → BigInt๋ก ํ๋ณํ ๊ฐ๋ฅ • ์ผ๋ฐ ์ซ์์ ์ฐ์ฐ ๋ถ๊ฐ๋ฅ |
|
| String | • "", '', `` ์ผ๋ก ๋ฌถ์ด์ ํํ • ๋ฐฑํฑ(``)์ผ๋ก ๋ฌถ์ ๊ฒฝ์ฐ, ๋ฌธ์์ด ์ค๊ฐ์ ๋ณ์, ํํ์ ์ฝ์ ๊ฐ๋ฅ • ๋ฌธ์์ด ๋ด์ ์ค๋ฐ๊ฟ, ๋ฐ์ดํ ๋ฑ์ ์ฐ๊ณ ์ถ๋ค๋ฉด escape character โฉ๋ฅผ ๋ฃ๋๋ค. (\n, \", \\, \t, ...) |
|
| Boolean | • true, false ๋ ๊ฐ์ง ๊ฐ๋ง ์๋ค • true = 1, false = 0 |
|
| Null | • null ๊ฐ๋ง ํํํ๋ค • ์กด์ฌํ์ง ์๋ ๊ฐ, ๋น์ด์๋ ๊ฐ, ์ ์ ์๋ ๊ฐ์ ๋ํ๋ธ๋ค |
|
| Undefined | • ๊ฐ์ด ์์ง ํ ๋น๋์ง ์์ ์ํ์ด๋ค. • ๋ณ์๋ฅผ ์ ์ธ๋ง ํ๊ณ ๊ฐ์ ํ ๋นํ์ง ์์๋ค๋ฉด, undefined๊ฐ ์๋ ํ ๋น ๋๋ค. |
|
| Symbol | • ์ ์ผํ๊ณ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ด๋ค. • ์ฃผ๋ก ๊ฐ์ฒด์ ๊ณ ์ ํ ์๋ณ์๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค |
|
| ๊ฐ์ฒด ์๋ฃํ | Object | • ๋ฐ์ดํฐ ์ปฌ๋ ์ ์ด๋ ๋ ๋ณต์กํ ๊ฐ์ฒด๋ฅผ ํํํ ์ ์๋ค.(๋ค์ํ ์์ ์๋ฃํ ํฌํจ ๊ฐ๋ฅ) |
2. typeof ์ฐ์ฐ์
typeof ์ฐ์ฐ์๋ ์๋ฃํ์ ๋ฐํํ๋ค.
typeof x , typeof(x) ์ ๊ฐ์ ํํ๋ก ์ฌ์ฉํ ์ ์๋ค.
typeof undefined // undefined
typeof 0 // number
typeof 10n // bigint
typeof true // boolean
typeof 'foo' // string
typeof Symbol("id") // symbol
typeof [] // object
typeof Math // object (๋ด์ฅ ๊ฐ์ฒด)
typeof null //object (์ธ์ด ์์ฒด์ ์ค๋ฅ๋ก, null์ object๊ฐ ์๋)
typeof alert // function (ํจ์ํ์ ๋ฐ๋ก ์์ผ๋ typeof๋ ํผ์ฐ์ฐ์๊ฐ ํจ์๋ฉด function์ ๋ฐํํจ)
์ฐธ๊ณ
'Front-end > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ์์คํ (4) | 2025.08.08 |
|---|---|
| B4 : ์์ํ์ ํ๋ณํ (2) | 2025.08.05 |
| B2 : JS ๊ธฐ๋ณธ ๊ฐ๋ (1) | 2025.08.05 |
| ๋ชจ๋ (0) | 2025.03.11 |
| ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด(6) : ํ๋กํ ํ์ (0) | 2025.03.04 |
GitHub