▲GN⁺ 2025-01-31 | parent | ★ favorite | on: JavaScript Temporal이 옵니다(developer.mozilla.org)Hacker News 의견 Temporal은 기존 Date() API의 문제를 해결하는 데 유용함. Rust의 chrono와 Java의 Joda Time과 같은 고품질 시간 라이브러리에서 영감을 받아 편리한 API를 제공함 시간은 복잡하며, Temporal은 이를 나이브 시간, 인스턴트, 존드 시간으로 구분하여 처리함 타임스탬프에 하루를 더하는 작업을 할 때, 특정 시간대에 로컬인지 결정해야 함. 그렇지 않으면 DST나 시간대 변경 시 버그가 발생할 수 있음 "고정 오프셋" 타임스탬프와 특정 시간대의 타임스탬프 간의 직렬화 문제도 해결함 Temporal.ZonedDateTime.prototype.withTimeZone()를 사용하여 시간대를 변환할 수 있음 시간대 변환과 지속 시간 처리는 라이브러리가 처리해야 할 중요한 기능이며, Temporal이 이를 처리함 그러나 Temporal.Duration은 사용자 정의 format 함수를 제공하지 않음 Temporal 제안은 좋지만, 비교 시 참조 동등성을 사용하는 점이 아쉬움 이는 객체를 Map 키로 사용하거나 Set에 수집하는 기능을 제거함 TC39에서 많은 기능이 개발 중이며, Temporal이 빨리 출시되기를 바람 주요 브라우저가 새로운 기능을 지원하려면 개발 노력이 필요함 Temporal의 시간대 데이터 업데이트 방식에 대한 궁금증이 있음 사용자가 브라우저를 업데이트하지 않으면 잘못된 시간을 볼 수 있음 시간대 변경 시 이벤트를 추가해야 한다고 제안함 많은 사람들이 매일 시간대를 이동함 Temporal이라는 이름이 일반적인 시간 객체와의 충돌을 피하기 위해 사용되었지만, 처음에는 쓰레기 수집 제어로 오해할 수 있음 PHP의 Carbon 클래스는 DateTime에서 상속받아 가변 타임스탬프 작업의 문제를 설명함 CarbonImmutable을 사용하여 항상 새로운 인스턴스를 반환하는 것이 좋음 Laravel에서 CarbonImmutable과 Carbon을 별칭으로 가져오는 방법을 제안함 JavaScript Temporal과 관련된 다양한 기사와 논의가 있음
Hacker News 의견
Temporal은 기존 Date() API의 문제를 해결하는 데 유용함. Rust의 chrono와 Java의 Joda Time과 같은 고품질 시간 라이브러리에서 영감을 받아 편리한 API를 제공함
Temporal.ZonedDateTime.prototype.withTimeZone()를 사용하여 시간대를 변환할 수 있음
format함수를 제공하지 않음Temporal 제안은 좋지만, 비교 시 참조 동등성을 사용하는 점이 아쉬움
TC39에서 많은 기능이 개발 중이며, Temporal이 빨리 출시되기를 바람
Temporal의 시간대 데이터 업데이트 방식에 대한 궁금증이 있음
시간대 변경 시 이벤트를 추가해야 한다고 제안함
Temporal이라는 이름이 일반적인 시간 객체와의 충돌을 피하기 위해 사용되었지만, 처음에는 쓰레기 수집 제어로 오해할 수 있음
PHP의 Carbon 클래스는 DateTime에서 상속받아 가변 타임스탬프 작업의 문제를 설명함
JavaScript Temporal과 관련된 다양한 기사와 논의가 있음