ECMAScript 6 (줄여서 ES6, 또는 ECMAScript 2015)는 자바스크립트(JavaScript)의 대대적인 개정판으로, 2015년에 공식 발표되었습니다. ES6는 JavaScript의 기능성과 생산성을 획기적으로 개선하면서 현대적인 웹/앱 개발의 기반이 되었습니다.

아래에 ES6의 핵심 개념과 주요 기능들을 상세하게 설명해드리겠습니다.

🔰 ECMAScript란?

  • ECMAScript는 JavaScript의 표준 사양입니다.
  • ECMA(유럽 컴퓨터 제조 협회)의 TC39 위원회에서 관리하고 발전시키고 있습니다.
  • JavaScript는 ECMAScript 사양을 구현한 프로그래밍 언어입니다.

🚀 ES6의 주요 특징 및 기능

1. letconst

  • 기존의 var는 함수 스코프(function scope)를 가지며, 호이스팅(hoisting) 문제를 유발함.
  • ES6는 **블록 스코프(block scope)**를 가지는 let상수 선언을 위한 const를 도입함.
let name = "Alice";
const age = 30;

let: 값을 나중에 변경 가능
const: 변경 불가능 (immutable)

2. 템플릿 리터럴 (Template Literals)

  • 문자열을 백틱() “으로 감싸고 ${}로 변수나 표현식을 쉽게 삽입
const name = "Bob";
console.log(`Hello, ${name}!`); // Hello, Bob!

✅ 다중 줄 문자열도 가능

3. 화살표 함수 (Arrow Functions)

  • 짧고 간결한 함수 표현
const add = (a, b) => a + b;

this 바인딩이 기존 함수와 다름 (lexical scope 사용)

4. 클래스 (Class)

  • 객체 지향 프로그래밍을 위한 문법적 설탕 (syntactic sugar)
class Person {
constructor(name) {
this.name = name;
}

greet() {
return `Hi, I'm ${this.name}`;
}
}

5. 모듈 (Modules)

  • 코드 분할 및 재사용성을 향상시킴 (import / export)
// math.js
export const add = (a, b) => a + b;

// app.js
import { add } from './math.js';
console.log(add(2, 3)); // 5

6. 디스트럭처링 (Destructuring)

  • 배열이나 객체의 값을 개별 변수로 쉽게 추출
// 배열
const [a, b] = [1, 2];

// 객체
const { name, age } = { name: 'Alice', age: 25 };

7. 디폴트 파라미터 (Default Parameters)

  • 함수의 기본 인자 설정 가능
function greet(name = "Guest") {
console.log(`Hello, ${name}`);
}

8. 스프레드 연산자 (...) & 나머지 파라미터

  • 복사, 병합, 나머지 추출 등 다양하게 활용
// 배열 병합
const nums = [1, 2, ...[3, 4]];

// 함수 파라미터
function sum(...args) {
return args.reduce((a, b) => a + b);
}

9. Promise (비동기 처리)

  • 콜백 지옥을 해결하기 위한 비동기 처리 방식
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => resolve("Data received"), 1000);
});
};

fetchData().then(data => console.log(data));

10. Map과 Set

  • 새로운 컬렉션 타입
const map = new Map();
map.set('key', 'value');

const set = new Set([1, 2, 3, 3]); // 중복 제거됨

📌 ES6 이후로도 계속 발전 중

ES6 이후에도 ES7, ES8, …, ES2024 등으로 ECMAScript는 매년 새로운 기능이 추가되고 있습니다. 하지만 ES6는 현재 자바스크립트의 기본 토대로 자리잡았으며, 이후의 모든 문법 발전의 기반입니다.

🧠 요약

기능설명
let/const새로운 변수 선언 방식
Template Literals문자열 보간과 멀티라인 문자열
Arrow Functions간결한 함수 선언 및 this 처리
Classes객체지향 문법 지원
Modules코드 분할과 재사용 가능
Destructuring배열/객체 분해 할당
Default Parameters기본 함수 인자 설정
Spread / Rest배열/객체 병합 및 분해
Promise비동기 처리 개선
Map / Set새로운 데이터 컬렉션

zerg96

Recent Posts

충격! 코스피 8% 폭락에 SK텔레콤 AI 차단까지 – 한국의 AI 도박이 터졌다

코스피 8% 폭락, 서킷브레이커 발동, SK텔레콤 Claude AI 차단까지. 한국의 AI 레버리지 버블이 단 하루…

2주 ago

당신 얼굴이 이미 쓰이고 있다… AI 딥페이크 범죄, 생각보다 훨씬 심각합니다

SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…

3주 ago

당신 얼굴이 이미 쓰이고 있다 — AI 딥페이크 범죄, 생각보다 훨씬 심각합니다

SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…

3주 ago

달러·원 환율 급등, 지금 당신이 꼭 알아야 할 것들

달러/원 환율이 급등하는 이유와 실생활 영향을 정리했습니다. 지금 당장 활용할 수 있는 환전·투자 대응 전략까지…

3주 ago

미래에셋·미래에셋벤처투자·미래에셋생명 동반 급등, 스페이스X와 무슨 관계?

미래에셋·미래에셋벤처투자·미래에셋생명이 동반 급등한 이유는 스페이스X 상장 기대감입니다. 세 회사가 스페이스X와 어떻게 연결되어 있는지 상세히 분석했습니다.

3주 ago

스페이스X 상장 D-데이? 일론 머스크가 절대 말 안 하는 진짜 이유

스페이스X 상장이 계속 미뤄지는 진짜 이유를 파헤쳤습니다. 화성 계획, 스타링크 분리, 국방 계약... 머스크가 절대…

3주 ago