본문으로 건너뛰기

"ECMAScript" 태그로 연결된 39개 게시물개의 게시물이 있습니다.

모든 태그 보기

클래스 정적 초기화 블록

· 약 2분
Shu-yu Guo ([@_shu](https://twitter.com/_shu))

새로운 클래스 정적 초기화 블록 문법은 개발자가 특정 클래스 정의에 대해 한 번 실행되어야 할 코드를 수집하고 이를 한 곳에 모을 수 있게 합니다. 아래는 암호화 랜덤 숫자 생성기가 정적 블록을 사용하여 class MyPRNG 정의가 평가될 때 한 번 엔트로피 풀을 초기화하는 예제입니다.

JavaScript BigInt와 WebAssembly 통합

· 약 4분
Alon Zakai

JS-BigInt-Integration 기능은 JavaScript와 WebAssembly 간에 64비트 정수를 쉽게 전달할 수 있도록 합니다. 이 포스트는 그것이 무엇을 의미하며, 왜 유용한지를 설명합니다. 여기에는 개발자를 위해 더 간단해지고, 코드 실행 속도가 빨라지며, 빌드 시간도 단축되는 이점들이 포함됩니다.

RegExp 매치 인덱스

· 약 4분
Maya Armyanova ([@Zmayski](https://twitter.com/Zmayski)), 새로운 기능을 정기적으로 표현

JavaScript는 이제 '매치 인덱스(match indices)'라는 새 정규 표현식 기능을 갖추게 되었습니다. JavaScript 코드에서 예약어와 일치하는 유효하지 않은 변수 이름을 찾아 변수 이름 아래에 캐럿(caret)과 '밑줄'을 출력하고 싶다고 상상해보세요:

String.prototype.replaceAll

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

JavaScript에서 문자열을 다뤄본 적이 있다면, String#replace 메서드에 대해 들어본 적이 있을 가능성이 큽니다. String.prototype.replace(searchValue, replacement)는 지정한 매개변수에 따라 일부 일치 항목이 교체된 문자열을 반환합니다:

최상위 `await`

· 약 4분
Myles Borins ([@MylesBorins](https://twitter.com/MylesBorins))

최상위 await는 개발자가 비동기 함수 외부에서 await 키워드를 사용할 수 있도록 합니다. 이는 큰 비동기 함수처럼 동작하며, 이를 import하는 다른 모듈들이 본문의 평가를 시작하기 전에 대기하게 합니다.

널 병합(nüllish coalescing)

· 약 6분
저스틴 리지웰(Justin Ridgewell)

널 병합 제안 (??)은 기본값을 처리하기 위한 새로운 단축 평가 연산자를 추가합니다.

여러분은 이미 단축 평가 연산자인 &&||를 알고 있을 가능성이 높습니다. 이 연산자들은 “true값”과 “false값”을 처리합니다. 예를 들어 lhs && rhs라는 코드 샘플을 생각해 봅시다. lhs(좌측 피연산자)가 false값이면, 표현식은 lhs를 평가합니다. 그렇지 않으면 rhs(우측 피연산자)를 평가합니다. 반대로 lhs || rhs라는 코드 샘플의 경우에는, lhs가 true값이면 표현식은 lhs를 평가합니다. 그렇지 않으면 rhs를 평가합니다.

옵셔널 체이닝

· 약 4분
Maya Armyanova ([@Zmayski](https://twitter.com/Zmayski)), 옵셔널 체인의 브레이커

JavaScript에서 긴 속성 접근 체인은 오류를 일으키기 쉽습니다. 이 중 하나라도 null 또는 undefined(“nullish” 값으로 알려짐)일 수 있기 때문입니다. 각 단계에서 속성 존재 여부를 확인하는 것은 쉽게 깊이 중첩된 if-문 구조 또는 속성 접근 체인을 복제하는 긴 if-조건으로 바뀔 수 있습니다:

`globalThis`

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

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