ECMAScript 6 (줄여서 ES6, 또는 ECMAScript 2015)는 자바스크립트(JavaScript)의 대대적인 개정판으로, 2015년에 공식 발표되었습니다. ES6는 JavaScript의 기능성과 생산성을 획기적으로 개선하면서 현대적인 웹/앱 개발의 기반이 되었습니다.
아래에 ES6의 핵심 개념과 주요 기능들을 상세하게 설명해드리겠습니다.
let
과 const
var
는 함수 스코프(function scope)를 가지며, 호이스팅(hoisting) 문제를 유발함.let
과 상수 선언을 위한 const
를 도입함.let name = "Alice";
const age = 30;
✅
let
: 값을 나중에 변경 가능
✅const
: 변경 불가능 (immutable)
백틱(
) “으로 감싸고 ${}
로 변수나 표현식을 쉽게 삽입const name = "Bob";
console.log(`Hello, ${name}!`); // Hello, Bob!
✅ 다중 줄 문자열도 가능
const add = (a, b) => a + b;
✅
this
바인딩이 기존 함수와 다름 (lexical scope 사용)
class Person {
constructor(name) {
this.name = name;
}
greet() {
return `Hi, I'm ${this.name}`;
}
}
import
/ export
)// math.js
export const add = (a, b) => a + b;
// app.js
import { add } from './math.js';
console.log(add(2, 3)); // 5
// 배열
const [a, b] = [1, 2];
// 객체
const { name, age } = { name: 'Alice', age: 25 };
function greet(name = "Guest") {
console.log(`Hello, ${name}`);
}
...
) & 나머지 파라미터// 배열 병합
const nums = [1, 2, ...[3, 4]];
// 함수 파라미터
function sum(...args) {
return args.reduce((a, b) => a + b);
}
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => resolve("Data received"), 1000);
});
};
fetchData().then(data => console.log(data));
const map = new Map();
map.set('key', 'value');
const set = new Set([1, 2, 3, 3]); // 중복 제거됨
ES6 이후에도 ES7, ES8, …, ES2024 등으로 ECMAScript는 매년 새로운 기능이 추가되고 있습니다. 하지만 ES6는 현재 자바스크립트의 기본 토대로 자리잡았으며, 이후의 모든 문법 발전의 기반입니다.
기능 | 설명 |
---|---|
let/const | 새로운 변수 선언 방식 |
Template Literals | 문자열 보간과 멀티라인 문자열 |
Arrow Functions | 간결한 함수 선언 및 this 처리 |
Classes | 객체지향 문법 지원 |
Modules | 코드 분할과 재사용 가능 |
Destructuring | 배열/객체 분해 할당 |
Default Parameters | 기본 함수 인자 설정 |
Spread / Rest | 배열/객체 병합 및 분해 |
Promise | 비동기 처리 개선 |
Map / Set | 새로운 데이터 컬렉션 |
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…