JavaScript์์ const
ํค์๋๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ES6(ECMAScript 2015)์์ ๋์
๋์์ต๋๋ค. const
๋ 'constant(์์)'์ ์ฝ์๋ก, ํ ๋ฒ ์ ์ธ๋ ๋ณ์๋ ์ฌํ ๋นํ ์ ์๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ const
์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
const
ํค์๋๋?
const
๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ํค์๋๋ก, ์์ ๊ฐ์ ์ ์งํด์ผ ํ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. const
๋ก ์ ์ธ๋ ๋ณ์๋ ๋ฐ๋์ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํํด์ผ ํ๋ฉฐ, ์ดํ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ ์ฝ๋์ ์์ ์ฑ์ ๋์ด๋ ๋ฐ ๋์์ ์ค๋๋ค.
const
์ ์ฃผ์ ํน์ง
- ์ฌํ ๋น ๋ถ๊ฐ:
const
๋ก ์ ์ธ๋ ๋ณ์๋ ํ ๋ฒ ๊ฐ์ ํ ๋นํ ํ, ๊ฐ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ฌํ ๋นํ ์ ์์ต๋๋ค. - ๋ธ๋ก ์ค์ฝํ(Block Scope):
const
๋ก ์ ์ธ๋ ๋ณ์๋ ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋๋ค. ์ด๋ ํด๋น ๋ณ์๊ฐ ์ ์ธ๋ ๋ธ๋ก ๋ด์์๋ง ์ ๊ทผํ ์ ์์์ ์๋ฏธํฉ๋๋ค. - ๋ณ์ ํธ์ด์คํ
:
const
๋ก ์ ์ธ๋ ๋ณ์๋ ํธ์ด์คํ ์ด ๋์ง๋ง, ์ด๊ธฐํ ์ ์ ์ ๊ทผํ๋ ค๊ณ ํ๋ฉด ReferenceError๊ฐ ๋ฐ์ํฉ๋๋ค. - ๊ฐ์ฒด์ ๋ฐฐ์ด:
const
๋ก ์ ์ธ๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๊ฒฝ์ฐ, ์ฐธ์กฐ ์์ฒด๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ๋ด๋ถ ์์ฑ์ด๋ ์์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
const
์ฌ์ฉ ์์
์ฌํ ๋น ๋ถ๊ฐ
const
๋ณ์๋ ํ ๋ฒ ํ ๋น๋ ์ดํ์๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋์น ์์ ๋ณ์์ ๋ณ๊ฒฝ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
const name = "Alice";
// name = "Bob"; // Error: Assignment to constant variable.
console.log(name); // "Alice"
์ ์์ ์์ name
๋ณ์๋ const
๋ก ์ ์ธ๋์๊ธฐ ๋๋ฌธ์, ๊ฐ์ ๋ณ๊ฒฝํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ธ๋ก ์ค์ฝํ
const
๋ณ์๋ let
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋๋ค. ๋ธ๋ก ๋ด๋ถ์์๋ง ๋ณ์์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ธ๋ถ์์๋ ์ ๊ทผํ ์ ์์ต๋๋ค.
function example() {
const x = 10;
if (true) {
const x = 20;
console.log(x); // 20
}
console.log(x); // 10
}
example();
์ ์์ ์์ x
๋ณ์๋ ๋ ๋ฒ ์ ์ธ๋์์ง๋ง, ์๋ก ๋ค๋ฅธ ๋ธ๋ก์ ์ํด ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๋๋ค.
๊ฐ์ฒด์ ๋ฐฐ์ด
const
๋ก ์ ์ธ๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ๊ฒฝ์ฐ, ์ฐธ์กฐ ์์ฒด๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ๋ด๋ถ์ ์์ฑ์ด๋ ์์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
const person = {
name: "Alice",
age: 30
};
person.age = 31; // ๊ฐ๋ฅ
console.log(person.age); // 31
const numbers = [1, 2, 3];
numbers.push(4); // ๊ฐ๋ฅ
console.log(numbers); // [1, 2, 3, 4]
์ ์์ ์์ person
๊ฐ์ฒด์ numbers
๋ฐฐ์ด์ const
๋ก ์ ์ธ๋์์ง๋ง, ๋ด๋ถ์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
const
ํค์๋๋ ์์ ๊ฐ์ ์ ์งํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ฉฐ, ์ฝ๋๋ฅผ ๋ณด๋ค ์์ ํ๊ฒ ์์ฑํ ์ ์๋๋ก ๋์์ค๋๋ค. ๋ธ๋ก ์ค์ฝํ์ ์ฌํ ๋น ๋ถ๊ฐ์ ํน์ฑ์ ์ ์ดํดํ๊ณ ํ์ฉํ๋ฉด, ์๋์น ์์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ ์์ ์ ์ธ JavaScript ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. JavaScript๋ฅผ ์์ฑํ ๋ const
๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ฉํด๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ