| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- texttransform
- fontweight
- ํผํ๊ทธ
- textshadow
- liststyletype
- ์ฃผ์
- borderspacing
- liststyleposition
- CDN
- ๋ชจ๋์นํฐํธ
- ์ถ์ฝ
- borderstyle
- inlineblock
- ํด๋์ค์ ๋ ํฐ
- ๊ทธ๋ฃน์ ๋ ํฐ
- formtag
- ๊ตฌ๊ธํฐํธ
- captionside
- ํ์ ์ ๋ ํฐ
- selectorslevel4
- wordspacing
- ๋นํ๊ทธ
- liststyleimage
- gtammertable
- bordercollapse
- ํฅ์ค์ฝ๋
- textdecoration
- ์์ด๋์ ๋ ํฐ
- ์ ๋๋ฒ์ ์ ๋ ํฐ
- ํฐํธ์จ์ดํธ
- Today
- Total
็ก์
var, let, const ๋ณ์ ์ ์ธ ๋ฐฉ์ ๋ณธ๋ฌธ
๐จ var (์ ํต์ ์ธ ๋ณ์ ์ ์ธ ๋ฐฉ์)
ES6(2015) ์ด์ ๋ถํฐ ์ฌ์ฉ๋๋ ๋ณ์ ์ ์ธ ๋ฐฉ์์ด๋ค.
์ ์ฐํ์ง๋ง ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ์ ๋๋ฌธ์ ํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์๋๋ค.
var name = "์ฒ ์";
var name = "์ํฌ"; // ์ฌ์ ์ธ ๊ฐ๋ฅ (์ํ)
1๏ธโฃ ํจ์ ๋ ๋ฒจ ์ค์ฝํ
ํจ์ ๋ด๋ถ์์ ์ ์ธ๋ ๋ณ์๋ง ์ง์ญ ๋ณ์๋ก ์ทจ๊ธ๋๋ค.
if (true) {
var age = 20;
}
console.log(age); // 20
- if, for ๋ฑ์ ๋ธ๋ก ๋ด๋ถ์์ ์ ์ธํด๋ ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
2๏ธโฃ ์ฌ์ ์ธ ๊ฐ๋ฅ
๊ฐ์ ์ค์ฝํ์์ ๋์ผํ ์ด๋ฆ์ ๋ณ์๋ฅผ ๋ค์ ์ ์ธํ ์ ์๋ค.
var score = 100;
var score = 90; // ๊ฐ๋ฅ
- ์๋ํ์ง ์์ ๊ฐ ๋ณ๊ฒฝ ์ํ์ด ์๋ค.
3๏ธโฃ ํธ์ด์คํ ๋ฐ์
๋ณ์ ์ ์ธ ๋ถ๋ถ๋ง ์ค์ฝํ ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ํ๋ฉฐ, ๊ฐ์ ํ ๋น์ ์๋ ์์น์์ ์คํ๋๋ค.
console.log(value); // undefined
var value = 10;
- ์ ์ธ ์ ์ ๊ทผ ์ undefined๊ฐ ๋ฐํ๋๋ค.
4๏ธโฃ ์ ์ญ ๊ฐ์ฒด(window) ์ค์ผ
๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ์ ์ญ ๋ณ์๋ก ์ ์ธํ๋ฉด window ๊ฐ์ฒด์ ์์ฑ์ด ๋์ด, ์๋์น ์๊ฒ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ๋ด์ฅ ๊ธฐ๋ฅ์ ๋ฎ์ด์ธ ์ํ์ด ์๋ค.
var ๋ณ์ = "์๋
";
console.log(window.๋ณ์); // "์๋
"
๐จ let (์ฌํ ๋น์ด ๊ฐ๋ฅํ ํ๋์ ๋ณ์)
ES6์์ ์ถ๊ฐ๋ ๋ณ์ ์ ์ธ ๋ฐฉ์์ด๋ค. ๊ฐ์ ๋ณ๊ฒฝํด์ผ ํ๋ ๋ณ์์ ์ฌ์ฉํ๋ค.
let score = 100;
score = 90; // ์ฌํ ๋น ๊ฐ๋ฅ
1๏ธโฃ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ
{ } ๋ธ๋ก ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
if (true) {
let age = 20;
}
// console.log(age); // ์๋ฌ
2๏ธโฃ ์ฌํ ๋น ๊ฐ๋ฅ
์ ์ธ ํ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
let count = 1;
count = 2; // ๊ฐ๋ฅ
3๏ธโฃ ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ
๊ฐ์ ์ค์ฝํ์์ ๋์ผํ ์ด๋ฆ์ผ๋ก ๋ค์ ์ ์ธํ ์ ์์ด ์์ ํ๋ค.
let name = "์ฒ ์";
// let name = "์ํฌ"; // ์๋ฌ
4๏ธโฃ ํธ์ด์คํ ๋ฐ์ (TDZ)
ํธ์ด์คํ ์ ๋ฐ์ํ์ง๋ง ์ ์ธ๊ณผ ์ด๊ธฐํ ์ฌ์ด์ TDZ ๋๋ฌธ์ ์ ์ธ ์ด์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค.
console.log(score); // ReferenceError
let score = 100;
- ์ ์ธ๊ณผ ์ด๊ธฐํ ์ฌ์ด์ ์์ญ์ TDZ(Temporal Dead Zone)๋ผ๊ณ ํ๋ค.
๐จ const (๊ฐ์ด ๋ณํ์ง ์๋ ์์)
ES6์์ ์ถ๊ฐ๋ ์์ ์ ์ธ ๋ฐฉ์์ด๋ค. ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋ ๋ณ์์ ์ฌ์ฉํ๋ค.
const PI = 3.14;
1๏ธโฃ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ
let๊ณผ ๋์ผํ๊ฒ { } ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
2๏ธโฃ ์ฌํ ๋น ๋ถ๊ฐ๋ฅ
์ ์ธ ํ ์๋ก์ด ๊ฐ์ ํ ๋นํ ์ ์๋ค.
const age = 20;
// age = 30; // ์๋ฌ
3๏ธโฃ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ ํ์
// const name; // ์๋ฌ
const name = "์ฒ ์"; // ๊ฐ๋ฅ
4๏ธโฃ ๊ฐ์ฒด์ ๋ฐฐ์ด ๋ด๋ถ ๋ณ๊ฒฝ ๊ฐ๋ฅ
const๋ ๋ณ์ ์์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ ์ฐธ์กฐํ๋๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ง๋๋ค.
const user = { name: "์ฒ ์" };
user.name = "์ํฌ"; // ๊ฐ๋ฅ (๋ด๋ถ ์์ฑ ๋ณ๊ฒฝ)
// user = { name: "๋ฏผ์" }; // ๋ถ๊ฐ๋ฅ (์ฐธ์กฐ๊ฐ ์์ฒด ๋ณ๊ฒฝ)
- ๊ฐ์ฒด ๋ด๋ถ ์์ฑ์ด๋ ๋ฐฐ์ด ์์ ๋ณ๊ฒฝ์ ๊ฐ๋ฅํ๋ค.
5๏ธโฃ ํธ์ด์คํ ๋ฐ์ (TDZ)
let๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํธ์ด์คํ ์ ๋ฐ์ํ์ง๋ง, TDZ์ ์ํฅ์ ๋ฐ์ ์ ์ธ ์ ์ ์ ๊ทผํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
console.log(MAX_NUM); // ReferenceError
const MAX_NUM = 100;
๐ POINT ๐
โ๏ธ ํ๋ก๊ทธ๋จ์ ์์ ์ฑ์ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก const๋ฅผ ์ฌ์ฉํ๋ค. โ๏ธ
โ๏ธ ๊ฐ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ์๋ง let์ ์ฌ์ฉํ๋ค. โ๏ธ
โ๏ธ var๋ ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋ ์ด์ ๊ถ์ฅ๋์ง ์๋๋ค. โ๏ธ
๐ var, let, const ๋น๊ตํ ๐
| ํน์ง | var | let | const |
| ์ค์ฝํ | ํจ์ ๋ ๋ฒจ | ๋ธ๋ก ๋ ๋ฒจ | ๋ธ๋ก ๋ ๋ฒจ |
| ์ฌํ ๋น | ๊ฐ๋ฅ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
| ์ฌ์ ์ธ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
| ํธ์ด์คํ | ๋ฐ์ (undefined) | ๋ฐ์ (TDZ) | ๋ฐ์ (TDZ) |
| ์ด๊ธฐ๊ฐ ํ์ | ์๋์ค | ์๋์ค | ์ |
| ์ฌ์ฉ ๊ถ์ฅ๋ | ์ฌ์ฉ ์ง์ | ๊ฐ ๋ณ๊ฒฝ ์ ์ฌ์ฉ | ๊ธฐ๋ณธ ์ฌ์ฉ |
'<script>' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Vanilla Javascript_ํ๋จ ์ฌ๋ผ์ด๋ ๋ชจ๋ฌ (0) | 2026.06.12 |
|---|---|
| Parameter (ํ๋ผ๋ฏธํฐ)์ Argument (์๊ท๋จผํธ) (0) | 2026.06.02 |
| Variable Scope (๋ณ์ ์ค์ฝํ)์ Hoisting (ํธ์ด์คํ ) (0) | 2026.06.02 |
| Function (ํจ์) (0) | 2026.06.02 |
| Undefined๊ณผ null (0) | 2026.05.28 |
