let, const, ํ์ดํ ํจ์, ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด, ๋์คํธ๋ญ์ฒ๋ง, ๊ธฐ๋ณธ ํ๋ผ๋ฏธํฐ, ์คํ๋ ๋ ์ฐ์ฐ์ ๋ฑ์ ๋ํด ์ค๋ช
ํ๋ค.ES6์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํด ์ฌ๋ฌ ์๋ก์ด ๋ฌธ๋ฒ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋ํ์ ์ผ๋ก
let๊ณผconst๊ฐ ๋์ ๋์ด ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๊ฒ ๋์๊ณ , ๋ณ์์ ์ฌ์ ์ธ์ด๋ ์ฌํ ๋น์ ๋ช ํํ ๊ตฌ๋ถํ ์ ์๊ฒ ๋์์ต๋๋ค.
๋ํ ํ์ดํ ํจ์๊ฐ ์ถ๊ฐ๋์ด ํจ์๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์๊ณ ,this๊ฐ ์์ ์ค์ฝํ๋ฅผ ์ ์งํ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด ์์์ ๋ณ์๋ฅผ ์ฝ๊ฒ ์ฝ์ ํ ์ ์์ด ๊ฐ๋ ์ฑ์ด ๋์์ก๊ณ ,
๋์คํธ๋ญ์ฒ๋ง, ์ฆ ๋น๊ตฌ์กฐํ ํ ๋น์ ํตํด ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์์ ํ์ํ ๊ฐ์ ๊ฐ๋จํ ๊บผ๋ผ ์ ์๊ฒ ๋์์ต๋๋ค.ํจ์์ ๊ธฐ๋ณธ ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ ์ด์ฉํ๋ฉด ์ธ์๊ฐ ์ ๋ฌ๋์ง ์์์ ๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์๊ณ ,
์คํ๋ ๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ๊ฑฐ๋ ํฉ์น ๋ ํจ์ฌ ๋ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.์ด๋ฌํ ES6 ๋ฌธ๋ฒ๋ค์ ์ ์ฒด์ ์ผ๋ก ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฌ๊ฒ ํฅ์์ํจ ๋ณํ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
let, const โ ๋ธ๋ก ์ค์ฝํ ๋ณ์ ์ ์ธES6์์๋ var ๋์ let๊ณผ const๊ฐ ๋์
๋์ด ์ค์ฝํ(์ ํจ ๋ฒ์)๊ฐ ๋ธ๋ก ๋จ์๋ก ์ ํ๋จ
let: ์ฌํ ๋น ๊ฐ๋ฅ, ์ฌ์ ์ธ ๋ถ๊ฐconst: ์ฌํ ๋น ๋ถ๊ฐ, ์ฌ์ ์ธ ๋ถ๊ฐ โ ์๋์น ์์ ๋ณ์ ์ค์ผ ๋ฐฉ์ง ๋ฐ ์ฝ๋ ์์ ์ฑ ํฅ์let count = 1;
count = 2; // ๊ฐ๋ฅ
const PI = 3.14;
PI = 3.1415; // โ ์ค๋ฅ (์ฌํ ๋น ๋ถ๊ฐ)
function ํค์๋ ๋์ ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ์ผ๋ก ํจ์๋ฅผ ์์ฑํ ์ ์์this๊ฐ ์์ ์ค์ฝํ๋ฅผ ์ ์งํ๋ค๋ ํน์ง์ด ์์ด ์ฝ๋ฐฑ ํจ์ ๋ด์์๋ ์ง๊ด์ ์ธ ๋์์ ๋ณด์ฅํจ// ํ์ดํ ํจ์
const add = (a, b) => a + b;
// ๊ธฐ์กด function ํํ
function addOld(a, b) {
return a + b;
}
`)์ผ๋ก ๊ฐ์ธ๊ณ ${}๋ก ๋ณ์๋ ํํ์์ ๋ฐ๋ก ์ฝ์
ํ ์ ์์+) ๋ฐฉ์๋ณด๋ค ๊ฐ๋
์ฑ์ด ๋ฐ์ด๋๋ฉฐ, ์ค๋ฐ๊ฟ๋ ์์ฐ์ค๋ฝ๊ฒ ํํํ ์ ์์const name = "ํ์ง";
console.log(`์๋
ํ์ธ์, ${name}๋!`); // ์๋
ํ์ธ์, ํ์ง๋!
// ๋ฐฐ์ด ๋์คํธ๋ญ์ฒ๋ง
const [a, b] = [1, 2];
console.log(a); // 1
console.log(b); // 2
// ๊ฐ์ฒด ๋์คํธ๋ญ์ฒ๋ง
const { name, age } = { name: "ํ์ง", age: 25 };
console.log(name); // ํ์ง
console.log(age); // 25
if)์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๋จ์ํํ ์ ์์function greet(name = "์ต๋ช
") {
console.log(`์๋
ํ์ธ์, ${name}๋!`);
}
greet(); // ์๋
ํ์ธ์, ์ต๋ช
๋!
const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]
const user = { name: "ํ์ง", age: 25 };
const newUser = { ...user, age: 26 }; // { name: "ํ์ง", age: 26 }