| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
- gtammertable
- ๊ทธ๋ฃน์ ๋ ํฐ
- wordspacing
- ํผํ๊ทธ
- texttransform
- ๋ชจ๋์นํฐํธ
- ์ ๋๋ฒ์ ์ ๋ ํฐ
- borderstyle
- liststyleimage
- ๊ตฌ๊ธํฐํธ
- textdecoration
- ํด๋์ค์ ๋ ํฐ
- ๋นํ๊ทธ
- captionside
- ํฅ์ค์ฝ๋
- inlineblock
- borderspacing
- selectorslevel4
- formtag
- ์ถ์ฝ
- ์ฃผ์
- ํ์ ์ ๋ ํฐ
- fontweight
- bordercollapse
- textshadow
- ํฐํธ์จ์ดํธ
- liststyletype
- ์์ด๋์ ๋ ํฐ
- CDN
- liststyleposition
- Today
- Total
็ก์
Variables (๋ณ์) ๋ณธ๋ฌธ
๐จ Variables
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ด๋ฆ์ ๋ถ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ.
โผ๏ธ ๋ณ์์ ๊ธฐ๋ณธ ์ฌ์ฉ ๋ฐฉ๋ฒ (3๋จ๊ณ)
๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด '์ ์ธ', 'ํ ๋น', '์ฐธ์กฐ'์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
1๏ธโฃ ์ ์ธ (Declaration)
๋ณ์๋ฅผ ์์ ํ๋ ๋จ๊ณ.
let myBox; // 'myBox'๋ผ๋ ์ด๋ฆ์ ๋ณ์๋ฅผ ์ ์ธํจ
- let ๋๋ const ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ์ ์ธํ๋ค.
๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ๋จ๊ณ.
myBox = "์ฌํ"; // myBox ๋ณ์์ "์ฌํ"์ด๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ
- = (์ฐ์ฐ์)๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅธ์ชฝ ๊ฐ์ ์ผ์ชฝ ๋ณ์์ ์ ์ฅํ๋ค.
๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฌ์ฉํ๋ ๋จ๊ณ.
console.log(myBox); // ์ถ๋ ฅ: ์ฌํ
- ๋ณ์ ์ด๋ฆ์ ์์ฑํ๋ฉด ์ ์ฅ๋ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
โผ๏ธ ์ ์ธ๊ณผ ๋์์ ํ ๋นํ๊ธฐ
let fruit = "์ฌ๊ณผ"; // ์ ์ธ๊ณผ ํ ๋น์ ๋์์ ์ํ
const PI = 3.14; // ์ ๋ ๋ณํ์ง ์๋ ๊ฐ(์์)์ const๋ก ์ ์ธ
- ๋ณ์๋ ์ ์ธ๊ณผ ํ ๋น์ ํ ์ค์ ํจ๊ป ์์ฑํ ์ ์๋ค.
โผ๏ธ let ๊ณผ const ์ฐจ์ด
๐น let
let score = 10;
score = 20;
console.log(score); // 20
- ๊ฐ์ ๋ค์ ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์์ด๋ค. (์ฌํ ๋น ๊ฐ๋ฅ)
๐น const
const PI = 3.14;
PI = 5; // ์๋ฌ ๋ฐ์
- ํ ๋ฒ ์ ์ฅํ ๊ฐ์ ๋ค์ ๋ณ๊ฒฝํ ์ ์๋ ๋ณ์์ด๋ค. (์ฌํ ๋น ๋ถ๊ฐ๋ฅ)
โ ๋ณ์๋ฅผ ์ ์ฌ์ฉํ๋์ โ
- ์ฌ์ฌ์ฉ์ฑ: ํ ๋ฒ ์ ์ฅํด๋๋ฉด ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํด์ ์ธ ์ ์๋ค.
- ๊ฐ๋ ์ฑ: ์ซ์ 1000000 ๋์ salary๋ผ๋ ์ด๋ฆ์ ์ฐ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ํจ์ฌ ์ฝ๋ค.
- ์ ์ง๋ณด์: ๊ฐ์ด ๋ฐ๋์์ ๋ ๋ณ์๊ฐ ์ ์ธ๋ ํ ๊ณณ๋ง ์์ ํ๋ฉด ๊ทธ ๋ณ์๋ฅผ ์ฐ๋ ๋ชจ๋ ๊ณณ์ ์๋์ผ๋ก ๋ฐ์๋๋ค.
๐ฅ ๋ณ์์ ์๋ช ์ฃผ๊ธฐ (Life Cycle) ๐ฅ
์ ์ธ(Declaration) → ์์ฑ(Creation) → ์ด๊ธฐํ(Initialization) → ์ฌ์ฉ(Usage) → ์ค์ฝํ ์ข
๋ฃ → ์ฐธ์กฐ ํ์ธ → ๊ฐ๋น์ง ์ปฌ๋ ์
(GC)
- ์ฐธ์กฐ ์์ → ๋ฉ๋ชจ๋ฆฌ ์ ์ง
- ์ฐธ์กฐ ์์ → ๊ฐ๋น์ง ์ปฌ๋ ์ (GC) ๋์
๐ ์๋ฐ์คํฌ๋ฆฝํธ ํต์ฌ ์ฉ์ด ์ ๋ฆฌ ๐
| ์ฉ์ด | ๋ป | ์ค๋ช | ์์ ์ฝ๋ |
| Declare | ์ ์ธ | "์ด์ ๋ถํฐ ์ด๋ฐ ์ด๋ฆ์ ์์๋ฅผ ์ธ ๊ฑฐ์ผ!"๋ผ๊ณ ์๋ฆฌ๋ ๊ฒ | let box; |
| Assign | ํ ๋น | ๋ง๋ค์ด๋ ์์์ ๊ฐ(๋ฌผ๊ฑด)์ ๋ฃ๋ ๊ฒ | box = 10; |
| Initialization | ์ด๊ธฐํ | ๋ณ์๋ฅผ ์ ์ธํ๋ฉด์ ์ฒ์ ๊ฐ์ ๋ฃ๋ ๊ฒ | let box = 10; |
| Reassign | ์ฌํ ๋น | ์ด๋ฏธ ๊ฐ์ด ์๋ ๋ณ์์ ์๋ก์ด ๊ฐ์ ๋ฃ๋ ๊ฒ | box = 20; |
| Define | ์ ์ | ๋ณ์๋ ํจ์์ ์๋ฏธ์ ๊ฐ์ ํ์ ํ๋ ๊ฒ (๋ณดํต ์ ์ธ + ์ด๊ธฐํ) | let box = 10; |
| Redefine | ์ฌ์ ์ | ์ด๋ฏธ ์กด์ฌํ๋ ์๋ณ์๋ฅผ ๋ค์ ์ ์ธํ๋ ๊ฒ (var์์๋ง ๊ฐ๋ฅ) | var a=1; var a=2; |
| Undefined | ๊ฐ์ด ์์ | ๋ณ์๋ ์กด์ฌํ์ง๋ง ์์ง ๊ฐ์ด ํ ๋น๋์ง ์์ ์ํ (JS์ ๊ธฐ๋ณธ๊ฐ). | let a; // undefined |
๐ ํนํ ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ๐
1๏ธโฃ Declare vs Declaration
- Declare (๋์ฌ): ๋ณ์๋ฅผ ์ ์ธํ๋ ํ๋.
- ์: "You need to declare a variable first."
- Declaration (๋ช
์ฌ): ์ ์ธ๋ฌธ ์์ฒด.
- ์: "Where is the variable declaration?"
2๏ธโฃ Assign vs Assignment
- Assign (๋์ฌ): ๋ณ์์ ๊ฐ์ ๋ฃ๋ ํ๋.
- ์: "Let's assign the value 5 to x."
- Assignment (๋ช
์ฌ): ํ ๋น๋ฌธ ๋๋ ํ ๋น ๊ณผ์ .
- ์: "This assignment causes an error."
3๏ธโฃ Initialize vs Initialization
- Initialize (๋์ฌ): ๋ณ์์ ์ฒ์ ๊ฐ์ ๋ฃ๋ ํ๋.
- ์: "Initialize a with 10."
- Initialization (๋ช
์ฌ): ์ ์ธ๊ณผ ๋์์ ์ฒ์ ๊ฐ์ ๋ฃ๋ ๊ฒ.
- ์: "This is the initialization of a."
๐ ๋์ฌ๋ ์ค์ ๋ก ํ๋ ํ๋์ด๊ณ , ๋ช ์ฌ๋ ๊ทธ ํ๋์ ๊ฒฐ๊ณผ๋ ๊ฐ๋ ์ ์๋ฏธํ๋ค.
๐ ๊ฟํ: ํต์ฌ ์ฐจ์ด ์์ฝ
- Declare vs Define: ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๋ ์ฉ์ด๋ฅผ ํผ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง, ์๋ฐํ ๊ตฌ๋ถํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Declare (์ ์ธ): ์ด๋ฆ(์๋ณ์)์ ๋ฑ๋กํ๋ ๊ฒ.
- Define (์ ์): ๋ฑ๋ก๋ ์ด๋ฆ์ ์ค์ ๊ฐ์ด๋ ๋ก์ง(ํจ์ ๋ฑ)์ ๋ถ์ฌํ๋ ๊ฒ.
- Const์ ํน์ง: const๋ ์ฌํ ๋น(Reassignment)์ด ๋ถ๊ฐ๋ฅํ ๋ณ์์ ๋๋ค. ๋ฐ๋ผ์ ์ ์ธ๋ง ํ ์ ์๊ณ , ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ(Initialization) ํด์ผ ํฉ๋๋ค.
๐โ POINT ๐โ
โ๏ธ ๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ด๋ฆ์ด๋ค. โ๏ธ
โ๏ธ let์ ๊ฐ์ด ๋ฐ๋ ์ ์๋ ๋ณ์์, const๋ ๊ฐ์ด ๋ณํ์ง ์๋ ์์์ ์ฌ์ฉํ๋ค. โ๏ธ
โ๏ธ ๋ณ์ ์ด๋ฆ์ ๊ทธ ์์ ๋ด๊ธด ๋ด์ฉ์ด ๋ฌด์์ธ์ง ์๊ธฐ ์ฝ๊ฒ ์ง๋ ๊ฒ์ด ์ข์ ์ต๊ด์ด๋ค. โ๏ธ
โ๏ธ ์ค์ ์์ ์ฝ๋ โ๏ธ
// 1. ๋์๋ฌธ์ ๊ตฌ๋ถ
let apple = "์ฌ๊ณผ";
let Apple = "๋ค๋ฅธ ์ฌ๊ณผ";
console.log(apple === Apple); // false
// 2. ์นด๋ฉ ์ผ์ด์ค ์ฌ์ฉ
let userLoginStatus = true;
// 3. ์์ ํ๊ธฐ๋ฒ
const MAX_LOGIN_ATTEMPTS = 5;
// 4. ์ซ์๋ก ์์ํ๋ ์ด๋ฆ (์๋ฌ ๋ฐ์)
// let 1stPlace = "Kim"; // SyntaxError
'<script>' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Operator (์ฐ์ฐ์) (0) | 2026.05.28 |
|---|---|
| Data Types (๋ฐ์ดํฐ ํ์ ) (0) | 2026.05.28 |
| HTML์์ JavaScript๋ฅผ ๋ฐฐ์นํ๋ ๊ฐ์ฅ ์ข์ ์์น (0) | 2026.05.26 |
| ECMAScript (ES6) (0) | 2026.05.26 |
| JS coding rule and style guide (0) | 2026.05.26 |
