- let, const 변수 선언 (var 대신 필수) ✅
- 화살표 함수 (
()=>{}) ✅ - 템플릿 리터럴 (
Hello ${name}) ✅ - 디스트럭처링 할당 (배열, 객체 구조 분해) ✅
- 스프레드 연산자 (
...)와 나머지 매개변수 ✅ - 옵셔널 체이닝 (
obj?.prop?.func()) ✅ - 널 병합 연산자 (
??) ✅ - 비동기 함수(async/await) ✅
- 클래스 문법 (
class,constructor,extends,super) ✅ - 모듈 시스템 (ESM,
import/export) ✅ - 프라이빗 필드/메서드 (
#privateField,#privateMethod()) ✅ - 정적 메서드/필드 (
static키워드) ✅
- BitInt (큰 정수 처리) ✅
- 심볼(Symbol) (유일한 식별자 생성) ✅
- 프로미스와 비동기 작업 (
Promise,async/await) - 옵셔널 체이닝과 Null 병합 (안전한 접근)
- 이터널레이터/제너레이터 (
function*,yield) - 프록시(Proxy) (객체 동작 가로채기)
- 반응형 프로그래밍 도구(예: Reactive primitives)
- 불변성 유지
- 고차 함수 (
map,filter,reduce) - 커링(Currying), 부분 적용 함수
- 함수 합성
- Fetch API (비동기 네트워크 요청)
- WebSockets (실시간 통신)
- WebAssembly (고성능 코드)
- Service Workers && PWA 지원
- WebRTC (실시간 미디어)
- Intl API (국제화 및 날씨/시간, 숫자 포메팅)
- Top-level await (모든 최상위에서 await 사용 가능)
- Record & Tuple (불변 데이터 구조, 아직 Stage 2/3)
- Class Fields 개선 및 private 접근자 개선
- Pattern Matching (switch 대체 가능성)
- Pipeline 연산자 (
|>) (함수 체인 깔끔하게) - Hashbang (#!) 지원 (스크립트 최상단 해시뱅 이용)
- Node.js 최신 버전 (v20 이상)
- ESLint, Prettier 코드 품질 및 스타일 관리
- TypeScript 연동 (JS 대체/보완)
- Webpack, Vite, Rollup 모듈 번들러와 빌드 툴
- Deno (Node.js 대체 런타임, 보안 강화 목표)
- 비동기 처리 제대로 이해하기
- 에러 처리 패턴 (
try/catch,.catch()) - 메모리 누수 방지
- 테스트 자동화 (Jest, Mocha, Cypress)
- 코드 스플리팅 & 트리 쉐이킹
- 퍼포먼스 최적화 및 프로파일링