FEInterview Prep

Velog

자바스크립트 Temporal 기능이 곧 도입됩니다

자바스크립트의 새로운 내장 날짜/시간 API인 Temporal이 TC39 표준으로 도입되는 과정을 소개하는 글로, 기존 Date 객체의 문제점(타임존 지원 부재, 불변성 미지원, DST 처리 오류 등)을 해결하는 방법을 설명합니다. Temporal은 날짜/시간 처리를 더 안전하고 직관적으로 만들어 moment.js나 date-fns 같은 외부 라이브러리 의존도를 줄일 것으로 기대됩니다.

2025-04-04·4분 읽기
JavaScript
원문 보기 ↗

핵심 요약

이 아티클은 JavaScript 런타임과 언어 설계를 실무 판단 기준으로 다시 정렬해 주는 읽기 자료입니다. 자바스크립트의 새로운 내장 날짜/시간 API인 Temporal이 TC39 표준으로 도입되는 과정을 소개하는 글로, 기존 Date 객체의 문제점(타임존 지원 부재, 불변성 미지원, DST 처리 오류 등)을 해결하는 방법을 설명합니다. Temporal은 날짜/시간 처리를 더 안전하고 직관적으로 만들어 moment.js나 date-fns 같은 외부 라이브러리 의존도를 줄일 것으로 기대됩니다.

이 아티클은 JavaScript 런타임과 언어 설계를 면접에서 바로 꺼낼 수 있는 답변 프레임으로 접어 두는 메모처럼 읽으면 좋습니다.

JavaScript 런타임과 언어 설계를 설명할 때 정의만 말하면 답변이 얕아지기 쉽습니다. 기존 Date 객체는 타임존 처리 부재, 가변성, DST 오류 등 수십 년간 누적된 설계 문제가 있다 실무 판단 근거와 면접 답변의 밀도를 동시에 끌어올릴 수 있습니다.

학습 포인트

면접 답변으로 연결할 학습 포인트입니다.

기존 Date 객체는 타임존 처리 부재

기존 Date 객체는 타임존 처리 부재, 가변성, DST 오류 등 수십 년간 누적된 설계 문제가 있다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

DateDST기존객체는
자주 하는 오해

기존 Date 객체는 타임존 처리 부재를 개념으로만 기억하고 맥락 없이 적용하면 기존 Date 객체는 타임존 처리 부재, 가변성, DST 오류 등 수십 년간 누적된 설계 문제가 있다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

Temporal은 불변

Temporal은 불변(Immutable) 객체를 사용하여 부수 효과 없이 날짜를 안전하게 다룰 수 있다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

TemporalImmutable불변객체를
자주 하는 오해

Temporal은 불변를 개념으로만 기억하고 맥락 없이 적용하면 Temporal은 불변(Immutable) 객체를 사용하여 부수 효과 없이 날짜를 안전하게 다룰 수 있다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

PlainDate

PlainDate, PlainTime, ZonedDateTime 등 목적에 맞는 다양한 타입을 제공한다 이 포인트를 알고 있으면 비슷한 상황에서 왜 이 접근을 선택하는지까지 설명할 수 있습니다.

PlainDatePlainTimeZonedDateTime목적에
자주 하는 오해

PlainDate를 개념으로만 기억하고 맥락 없이 적용하면 PlainDate, PlainTime, ZonedDateTime 등 목적에 맞는 다양한 타입을 제공한다 패턴 이름만 외우고 적용 조건을 구분하지 않으면 비슷한 문제에 같은 해법을 남용하게 됩니다.

읽는 순서

  1. 1이론

    "자바스크립트 Temporal 기능이 곧 도입됩니다"의 멘탈 모델과 요약을 먼저 읽고, JavaScript 런타임과 언어 설계와 관련된 핵심 용어 3개를 적어보세요.

  2. 2구현

    자바스크립트 Temporal 기능이 곧 도입됩니다에서 다룬 아이디어를 작은 예제로 직접 구현하거나 기존 코드에 대입해 보면서 적용 조건을 확인하세요.

  3. 3실무

    현재 프로젝트에서 JavaScript 런타임과 언어 설계와 연결되는 화면이나 코드 리뷰 사례를 찾아, 어디서 같은 판단이 필요한지 정리해보세요.

  4. 4설명

    동료에게 "자바스크립트의 기존 Date 객체의 문제점은 무엇이며, Temporal API는 이를 어떻게 해결하나요?"에 대한 답을 5분 안에 설명해보세요. 막히는 부분이 아직 이해가 얕은 구간입니다.

면접 연결 질문

medium자바스크립트의 기존 Date 객체의 문제점은 무엇이며, Temporal API는 이를 어떻게 해결하나요?
힌트

[감점 답변] 용어 정의만 반복하거나 "자바스크립트 Temporal 기능이 곧 도입됩니다에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] 타임존 미지원, 가변 객체, month가 0부터 시작하는 직관에 반하는 설계 등을 언급하세요. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

hardTemporal.PlainDate와 Temporal.ZonedDateTime의 차이는 무엇이며, 언제 각각을 사용해야 하나요?
힌트

[감점 답변] 용어 정의만 반복하거나 "자바스크립트 Temporal 기능이 곧 도입됩니다에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] PlainDate는 타임존 없는 날짜, ZonedDateTime은 특정 타임존의 정확한 시점을 표현합니다. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

easy프론트엔드에서 날짜/시간을 다룰 때 타임존 처리가 왜 중요하며, 흔히 발생하는 버그는 무엇인가요?
힌트

[감점 답변] 용어 정의만 반복하거나 "자바스크립트 Temporal 기능이 곧 도입됩니다에서 그렇게 하더라" 수준으로 답하면 감점 포인트입니다. 면접관은 개념을 외운 사람보다 판단 근거를 말하는 사람을 찾습니다. [좋은 답변] 서버와 클라이언트의 타임존 차이, DST(서머타임) 전환 시 1시간 오차, UTC 변환 실수 등이 대표적입니다. 가능하면 선택 이유, 트레이드오프, 실제로 문제가 되는 상황까지 함께 연결하세요.

자기 점검

"기존 Date 객체는 타임존 처리 부재"가 왜 중요한지 스크롤 올리지 않고 한 문장으로 설명해보세요.
DateDST기존객체는
자주 하는 오해

"기존 Date 객체는 타임존 처리 부재"를 기능 목록으로만 외우는 것. 실제로는 왜 이 접근이 필요한지와 적용 조건까지 설명해야 합니다.

자바스크립트 Temporal 기능이 곧 도입됩니다에서 강조한 판단 기준을 실무 예시와 함께 설명해보세요.
TemporalImmutable불변객체를
자주 하는 오해

좋은 사례만 기억하고 실패 조건을 빼먹는 것. 실제 면접에서는 언제 위험해지는지까지 함께 말해야 합니다.