
โจ ๋ค์ด๊ฐ๋ฉฐ
const name = "์์ฐ";
์ ์ฝ๋๋ฅผ ๋ณด๋ฉด "name"์ด๋ผ๋ ๋ณ์์ "์์ฐ"์ด๋ผ๋ ๋ฌธ์์ด์ ๋ด๊ณ ์๋๋ฐ,
์ฌ๊ธฐ์ ์ฌ์ฉ๋ const๋ ๋ณํ์ง ์๋ ๊ฐ์ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ํค์๋์ด๋ค.
์ฆ, ์์ (Constant)๋ผ๋ ์๋ฏธ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ๋ง ๋ณํ์ง ์๋ ๊ฑธ๊น?
๊ทธ๋ผ ๋ณ์ let์ด๋ const๋ ๋ญ๊ฐ ๋ค๋ฅธ ๊ฑธ๊น?
const๋ก ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๋ง๋ค๋ฉด ๋ด๋ถ ๊ฐ๋ ๋ชป ๋ฐ๊พธ๋ ๊ฑธ๊น?
์ด๋ฐ ๊ถ๊ธ์ฆ๋ค์ด ์๊ฒจ์ ํ๋์ฉ ์์ธํ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
๐ท๏ธ ๊ธฐ๋ณธ ๊ฐ๋
โ const๋
const๋ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ํค์๋์ด๋ค.
์ฆ, ํ ๋ฒ ๊ฐ์ ์ง์ ํ๋ฉด, ๊ทธ ๋ณ์ ์ด๋ฆ์ ์ ๋ ๋ค๋ฅธ ๊ฐ์ ๋ฃ์ ์ ์๋ค.
const animal = "๊ฐ์์ง";
animal = "๊ณ ์์ด"; // โ ์ค๋ฅ! ์ฌํ ๋น ๋ถ๊ฐ
๋ฐ๋ผ์ ์์ ๊ฐ์ ์ฝ๋๋ ์๋ฌ๊ฐ ๋๋ค.
์๋ํ๋ฉด animal์ const๋ก ์ ์ธ๋์๊ธฐ ๋๋ฌธ์ ์ฒ์์ ํ ๋น๋ "๊ฐ์์ง" ๋ง๊ณ ๋ค๋ฅธ ๊ฐ์ผ๋ก๋ ๋ค์ ๋ฐ๊ฟ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๐ฆ const VS let VS var ๋น๊ต
| ํค์๋ | ์ฌ์ ์ธ ๊ฐ๋ฅ | ์ฌํ ๋น ๊ฐ๋ฅ | ๋ธ๋ก ์ค์ฝํ |
| var | โ O | โ O | โ X (ํจ์ ์ค์ฝํ) |
| let | โ X | โ O | โ O |
| const | โ X | โ X | โ O |
์ ํ์์ ๋ณผ ์ ์๋ฏ์ด const๋ ๊ฐ์ฅ ์์ ํ ๋ณ์ ์ ์ธ ๋ฐฉ์์ด๋ค.
์ค์๋ก ๊ฐ์ ๋ฐ๊พธ๋ ์ผ์ด ์์ผ๋ฏ๋ก ์ฝ๋๊ฐ ๋์ฑ ์์ ์ ์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๐งฉ ์์ฑ ๋ณ๊ฒฝ์ ๊ฐ๋ฅํ ๊น?
const user = {
name: "์์ฐ",
age: 23
};
user.name = "์์ฐ2";
console.log(user.name); // ๐ "์์ฐ2"
๋ง์ง๋ง ์ค์ ์ฝ์ ๋ก๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด name์ด ๋ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
cosnt๋ ๋ณ์(user) ์์ฒด๋ฅผ ๋ฐ๊ฟ ์ ์๋ค๋ ์๋ฏธ์ด์ง
๊ทธ ์์ ๋ด๊ธด ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ์์ฑ์ ๋ฐ๊ฟ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ,
user = {} ๐๐ป (โ)
user.name = "์์ฐ2" ๐๐ป (โ )
๋ฐฐ์ด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
const fruits = ["๐", "๐"];
fruits.push("๐"); // โ
๊ฐ๋ฅ
console.log(fruits); // ๐ ["๐", "๐", "๐"]
fruits = ["๐"]; // โ ์ค๋ฅ! ์ฌํ ๋น ์๋จ
const๋ก ์ ์ธํ ๊ฐ์ฒด ๋ฐ ๋ฐฐ์ด์ ๋ด๋ถ ์์ ๋ณ๊ฒฝ์ ๊ฐ๋ฅํ์ง๋ง,
๋ณ์ ์์ฒด๋ฅผ ๋ฐ๊ฟ ์๋ ์๊ธฐ ๋๋ฌธ์
๐๋ฅผ ์ฝ์ ํ ๊ฒ์ ๊ฐ๋ฅํ์ง๋ง,
fruits ์์ฒด๋ฅผ ๐๋ก ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๊ฒ์ ์ค๋ฅ๊ฐ ๋๋ ๊ฒ์ด๋ค.
๐ก const๋ฅผ ์ธ์ ์จ์ผ ํ ๊น
- ๊ฐ์ด ๋ฐ๋์ง ์์์ผ ํ๋ ๊ฒฝ์ฐ ๐๐ป ๋ฌด์กฐ๊ฑด const
- ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ฅผ ์ฌํ ๋น์ ํ์ง ์๊ณ , ๋ด๋ถ ์์ฑ๋ง ์์ ํ๋ค๋ฉด ๐๐ป const
- ๊ฐ์ด ๋ณํด์ผ ํ๋ค๋ฉด ๐๐ป let
๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ const๋ฅผ ๋จผ์ ์ฐ๊ณ ,
๊ผญ ํ์ํ ๊ฒฝ์ฐ์๋ง let์ ์ฐ๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋ค.
๐ ์์ ์ ๋ฆฌ
const name = "์์ฐ"; // ์ถํ ๋ณ๊ฒฝ ๋ถ๊ฐ โ
const favoriteNumbers = [1, 2, 3]; // ์ถํ ๋ฐฐ์ด ์ ์ฒด ๋ณ๊ฒฝ ๋ถ๊ฐ โ, ๋ด๋ถ ์์ ๊ฐ๋ฅ โญ
favoriteNumbers.push(4); // ๋ด๋ถ ์์ ๊ฐ๋ฅ โญ
const profile = { nickname: "๋ฐ๋ฐ" }; // ์ถํ ๊ฐ์ฒด ๋ณ๊ฒฝ ๋ถ๊ฐ โ, ์์ฑ ๋ณ๊ฒฝ ๊ฐ๋ฅ โญ
profile.nickname = "์์"; // ์์ฑ ๋ณ๊ฒฝ ๊ฐ๋ฅ โญ
let age = 22; // ์ถํ ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ โญ
age = 23; // ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ โญ
๐ ๋ง๋ฌด๋ฆฌ
const๋ ์ ๋ ์ ๋ฐ๋๋ ์์ ๊ฐ์ ์ํ ์ ์ธ ํค์๋์ด์ง๋ง,
๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๋ด๋ถ๋ ๋ฐ๊ฟ ์ ์๋ค๋ ์ ์ ๊ธฐ์ตํ๊ณ ์์ด์ผ๊ฒ ๋ค.
'๐ป๊ณต๋ถ ๊ธฐ๋ก > ๐ Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Frontend] Zustand (0) | 2025.06.21 |
|---|---|
| [Frontend] ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น (Array Destructuring) (0) | 2025.06.16 |
| [Frontend] ์ปดํฌ๋ํธ๋ (1) | 2025.06.16 |
| [Frontend] Mock์ด๋ (0) | 2025.06.14 |
| [Frontend] ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ - Testing Library & Jest (2) | 2025.06.14 |