ECMAScript 6 (줄여서 ES6, 또는 ECMAScript 2015)는 자바스크립트(JavaScript)의 대대적인 개정판으로, 2015년에 공식 발표되었습니다. ES6는 JavaScript의 기능성과 생산성을 획기적으로 개선하면서 현대적인 웹/앱 개발의 기반이 되었습니다.
아래에 ES6의 핵심 개념과 주요 기능들을 상세하게 설명해드리겠습니다.
let과 constvar는 함수 스코프(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 | 새로운 데이터 컬렉션 |
1. 타입스크립트 개요 타입스크립트(TypeScript)는 마이크로소프트(Microsoft)가 개발한 자바스크립트(JavaScript)의 상위 집합(Superset) 언어입니다.즉, 자바스크립트에 정적 타입(Static Type)을 추가하고,…
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…