GitHub Pages
Ecma International, ECMAScript 2025 승인: 새로운 기능은?
Ecma International이 ECMAScript 2025(ES2025)를 공식 승인하면서 여러 실용적인 새 기능이 표준에 포함되었습니다. 주요
핵심 요약
이 아티클은 JavaScript 런타임과 언어 설계를 실무 판단 기준으로 다시 정렬해 주는 읽기 자료입니다. Ecma International이 ECMAScript 2025(ES2025)를 공식 승인하면서 여러 실용적인 새 기능이 표준에 포함되었습니다. 주요 추가 기능으로는 Iterator Helpers, Promise.try(), Set 메서드 확장(union, intersection, difference 등), 정규식 개선(duplicate named capture groups), import attributes, JSON modules 등이 있습니다.
이 아티클은 JavaScript 런타임과 언어 설계를 면접에서 바로 꺼낼 수 있는 답변 프레임으로 접어 두는 메모처럼 읽으면 좋습니다.
JavaScript 런타임과 언어 설계를 설명할 때 정의만 말하면 답변이 얕아지기 쉽습니다. Iterator Helpers는 배열 없이 이터러블에 map, filter, take 등 체이닝 메서드를 직접 사용할 수 있게 해준다. 실무 판단 근거와 면접 답변의 밀도를 동시에 끌어올릴 수 있습니다.
학습 포인트
면접 답변으로 연결할 학습 포인트입니다.
Iterator Helpers는 배열 없이 이터러블
Iterator Helpers는 배열 없이 이터러블에 map, filter, take 등 체이닝 메서드를 직접 사용할 수 있게 해준다. 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.
Iterator Helpers는 배열 없이 이터러블를 개념으로만 기억하고 맥락 없이 적용하면 Iterator Helpers는 배열 없이 이터러블에 map, filter, take 등 체이닝 메서드를 직접 사용할 수 있게 해준다. 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.
Promise
Promise.try()는 동기/비동기 함수 모두를 Promise로 감싸 일관된 에러 핸들링을 가능하게 한다. 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.
Promise를 개념으로만 기억하고 맥락 없이 적용하면 Promise.try()는 동기/비동기 함수 모두를 Promise로 감싸 일관된 에러 핸들링을 가능하게 한다. 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.
Set 메서드 확장
Set 메서드 확장(union, intersection, difference, symmetricDifference 등)으로 집합 연산을 네이티브로 수행할 수 있다. 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.
Set 메서드 확장를 개념으로만 기억하고 맥락 없이 적용하면 Set 메서드 확장(union, intersection, difference, symmetricDifference 등)으로 집합 연산을 네이티브로 수행할 수 있다. 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.
읽는 순서
- 1이론
"Ecma International, ECMAScript 2025 승인: 새로운 기능은?"의 멘탈 모델과 요약을 먼저 읽고, JavaScript 런타임과 언어 설계와 관련된 핵심 용어 3개를 적어보세요.
- 2구현
Ecma International, ECMAScript 2025 승인: 새로운 기능은?에서 다룬 아이디어를 작은 예제로 직접 구현하거나 기존 코드에 대입해 보면서 적용 조건을 확인하세요.
- 3실무
현재 프로젝트에서 JavaScript 런타임과 언어 설계와 연결되는 화면이나 코드 리뷰 사례를 찾아, 어디서 같은 판단이 필요한지 정리해보세요.
- 4설명
동료에게 "ES2025의 Iterator Helpers가 기존 배열 메서드(Array.prototype.map, filter 등)와 비교해 어떤 장점이 있는지 설명해주세요."에 대한 답을 5분 안에 설명해보세요. 막히는 부분이 아직 이해가 얕은 구간입니다.
면접 연결 질문
[감점 답변] 용어 정의만 반복하거나 "Ecma International, ECMAScript 2025 승인: 새로운 기능은?에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] 지연 평가(lazy evaluation), 중간 배열 생성 없이 처리, 무한 이터레이터에서의 활용을 언급하세요. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.
[감점 답변] 용어 정의만 반복하거나 "Ecma International, ECMAScript 2025 승인: 새로운 기능은?에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] Promise.resolve().then(() => syncFn()) 패턴과의 비교, 동기 에러를 catch에서 잡을 수 있는지 확인하세요. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.
[감점 답변] 용어 정의만 반복하거나 "Ecma International, ECMAScript 2025 승인: 새로운 기능은?에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] 각 스테이지의 의미, Babel/폴리필 사용, 브라우저 지원 현황 확인을 언급하세요. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.
자기 점검
"Iterator Helpers는 배열 없이 이터러블"를 기능 목록으로만 외우는 것. 실제로는 왜 이 접근이 필요한지와 적용 조건까지 설명해야 합니다.
좋은 사례만 기억하고 실패 조건을 빼먹는 것. 실제 면접에서는 언제 위험해지는지까지 함께 말해야 합니다.