본문으로 건너뛰기

"Node.js 12" 태그로 연결된 3개 게시물개의 게시물이 있습니다.

모든 태그 보기

`globalThis`

· 약 2분
Mathias Bynens ([@mathias](https://twitter.com/mathias))

웹 브라우저에서 사용하기 위한 JavaScript를 작성한 적이 있다면, 전역 this에 접근하기 위해 window를 사용한 적이 있을 것입니다. Node.js에서는 global을 사용했을지도 모릅니다. 두 환경에서 모두 작동해야 하는 코드를 작성한 경우, 사용할 수 있는 것을 감지하여 이를 사용했을 것입니다. 그러나 지원하려는 환경과 사용 사례가 늘어남에 따라 체크해야 할 식별자의 목록이 증가하면서 금방 복잡해집니다:

`Intl.ListFormat`

· 약 3분
Mathias Bynens ([@mathias](https://twitter.com/mathias)) 및 Frank Yung-Fong Tang

모던 웹 애플리케이션은 종종 동적 데이터로 구성된 목록을 사용합니다. 예를 들어, 사진 뷰어 앱은 다음과 같은 내용을 표시할 수 있습니다:

이 사진에는 Ada, Edith, 그리고 Grace가 포함되어 있습니다.

텍스트 기반 게임은 다른 종류의 목록을 가질 수 있습니다:

초능력을 선택하세요: 투명화, 염력, 또는 공감 능력.

각 언어에는 다른 목록 포맷팅 규칙과 단어가 있기 때문에 로컬화된 목록 포맷터를 구현하는 것은 간단하지 않습니다. 지원하고자 하는 각 언어에 대해 모든 단어(위 예에서는 '그리고' 또는 '혹은'과 같은 단어)를 목록화해야 할 뿐만 아니라, 이러한 언어들의 정확한 포맷팅 규칙을 인코딩해야 합니다! Unicode CLDR은 이러한 데이터를 제공하지만 이를 JavaScript에서 사용하려면 다른 라이브러리 코드와 함께 임베드되어 제공되어야 합니다. 이는 불행히도 이러한 라이브러리의 번들 크기를 증가시켜 로드 시간, 파싱/컴파일 비용, 메모리 소비에 부정적인 영향을 미칩니다.

`Intl.RelativeTimeFormat`

· 약 4분
Mathias Bynens ([@mathias](https://twitter.com/mathias))

현대적인 웹 애플리케이션은 종종 "어제", "42초 전", "3개월 후"와 같은 구문을 사용하여 전체 날짜와 타임스탬프 대신 사용합니다. 이러한 _상대적인 시간 형식 값_은 매우 일반적으로 사용되어 여러 인기 있는 라이브러리에서 이러한 값을 로컬화된 형식으로 출력하는 유틸리티 함수를 구현하고 있습니다. (예로는 Moment.js, Globalize, 그리고 date-fns 등이 있습니다.)