간단한 예로 알아 보는 ES2020 특징
본문
이 시리즈에서는 2015 년부터 오늘까지 EcmaScript 특징을 보여줍니다.
https://dev.to/carlillo/es2020-features-in-simple-examples-1513
소개
ES2020은 2020 년에 해당하는 ECMAScript 버전입니다.
이 버전에는 ES6 (2015)에 나타난 것만큼 많은 새로운 기능이 포함되어 있지 않습니다. 그러나 몇 가지 유용한 기능이 통합되었습니다.
이 기사에서는 쉬운 코드 예제에서 ES2020이 제공하는 기능을 소개합니다.
이러한 방식으로 복잡한 설명 없이도 새로운 기능을 빠르게 이해할 수 있습니다.
물론, 가장 잘 소개 된 JavaScript를 완전히 이해하려면 JavaScript에 대한 기본 지식이 필요합니다.
ES2020의 새로운 #JavaScript 기능은 다음과 같습니다.
➡️ String.prototype.matchAll
➡️ import()
➡️ BigInt
➡️ Promise.allSettled
➡️ globalThis
➡️ for-in mechanics
➡️ Optional Chaining
➡️ Nullish coalescing Operator
String.protype.matchAll
matchAll() 메소드는 그룹 캡처를 포함하여 정규 표현식에 대해 문자열과 일치하는 모든 결과의 반복자를 리턴합니다.
Dynamic import
Dynamic import()는 요청 된 모듈의 모듈 네임 스페이스 객체에 대한 약속을 반환합니다. 따라서 이제 async / await를 사용하여 가져 오기를 변수에 할당 할 수 있습니다.
BigInt — Arbitrary precision integers
BigInt는 7 번째 기본 유형이며 임의 정밀도 정수입니다. 변수는 이제 9007199254740992에서 최대 값이 아닌 ²⁵³ 숫자를 나타낼 수 있습니다.
Promise.allSettled
Promise.allSettled는 일련의 약속 상태 스냅 샷으로 이행 된 약속을 반환하지만, 원래의 모든 약속이 확정 된 후에 만 이행 또는 거부됩니다.
약속이 보류 중이 아닌 경우, 즉 약속이 이행 또는 거부 된 경우 약속이 해결되었다고 말합니다.
Standardized globalThis object
전 세계적으로 ES10 이전에는 표준화 되지 않았습니다. 프로덕션 코드에서는 다음과 같은 괴물을 작성하여 여러 플랫폼에서 이를 "표준화"합니다.
for-in mechanics
ECMA-262는 (a in b)의 순서를 거의 그대로 유지하지만 거의 모든 경우에 실제 엔진은 일관성이 있는 경향이 있습니다.
for-in 순서의 완전한 사양에 대한 합의를 얻기 위한 역사적 노력은 부분적으로 실패했습니다. 부분적으로 모든 엔진에는 많은 작업의 결과이며 실제로 다시 방문하고 싶지 않은 자체 고유 한 구현이 있기 때문입니다.
결론적으로, 다른 엔진들은 동작이 표준화 되도록 for (a in b) 제어 구조를 사용할 때 속성이 반복되는 방식에 동의했습니다.
Nullish coalescing Operator
속성 액세스를 수행 할 때 속성 액세스 결과가 null이거나 정의되지 않은 경우 기본값을 제공하는 것이 좋습니다. 현재 JavaScript에서 이러한 의도를 표현하는 일반적인 방법은 || 운영자.
이것은 null 및 undefined 값의 일반적인 경우에는 잘 작동하지만 놀라운 결과를 초래할 수 있는 많은 잘못된 값이 있습니다.
nullary 통합 연산자는 이러한 경우를 보다 잘 처리하기 위해 null 값에 대해 동등 검사 (널 또는 정의되지 않음)를 제공합니다. 왼쪽의 수식이 ?? 연산자는 undefined 또는 null로 평가되고 오른쪽이 반환 됩니다.
Optional Chaining
트리와 같은 구조에 깊은 속성 값을 찾을 때 종종 중간 노드가 존재하는지 확인해야 합니다.
선택적 연쇄 연산자를 사용하면 자체 반복 및 / 또는 중간 결과를 임시 변수에 할당하지 않고도 이러한 경우를 대부분 처리 할 수 있습니다.
또한 많은 API는 객체 또는 null / undefined를 반환하며 null이 아닌 경우에만 결과에서 속성을 추출하려고 할 수 있습니다.
누락 된 사례에 대해 undefined 이외의 다른 값을 원할 경우 일반적으로 Nullish 통합 연산자를 사용하여 처리 할 수 있습니다.
결론
JavaScript는 라이브 언어이며 웹 개발에 매우 건강합니다. 2015 년에 ES6이 등장한 이후로 우리는 언어의 역동적 인 진화를 경험하고 있습니다. 이 글에서는 ES2020에서 발생하는 기능을 검토했습니다.
이러한 기능 중 많은 기능이 웹 응용 프로그램 개발에 반드시 필요한 것은 아니지만 트릭이나 세부 정보를 사용하여 이전에 달성 할 수 있는 가능성을 제공합니다.
- 이전글2020 년의 첫 번째 JavaScript 도전 : 30 일의 JavaScript 도전 20.01.14
- 다음글The Solar System 2010 - 2020 20.01.14