분류 javascript

ES 2021 기능

컨텐츠 정보

  • 조회 266 (작성일 )

본문

ES 2021은 .. 세계에서 가장 인기 있는 프로그래밍 언어의 최신 버전입니다 ~


이 반복에는 몇 가지 기능 만 있습니다. (정확히 5 개는 손에 5 개의 손가락이 있기 때문에 문자 그대로 "소수"입니다.)


이제 하나씩 살펴 보겠습니다.


1. 문자열의 replaceAll 메소드 : 


replaceAll 메서드는 검색된 문자열 (첫 번째 인수)의 모든 항목을 새 문자열 (두 번째 인수)로 바꿉니다.


'Hello'.replaceAll('l', 'L') // 'HeLLo'


이것은 숙련 된 프로그래머가 이해하기에 매우 기본적인 것입니다.


2. Promise.any 


이것은 Promise 전역 개체의 정적 메서드입니다. Promise 객체의 배열을 arg로 받습니다. 그때..


이러한 Promise 개체 중 하나가 해결 될 때마다 해결됩니다. 반면에 이러한 Promise 개체가 모두 거부 될 때만 거부됩니다.


다음은 몇 가지 코드입니다.


const myFetches = Promise.any([ 
  fetch('/route-1'), 
  fetch('/route-2') 
])

myFetches.then(r => console.log(r))


Promise.all을 사용했다면 이는 기본적으로 해결 시점과 거부 시점의 반대입니다.


3. WeakRef 


이것은 객체에 대한 약한 참조, 즉 참조 된 객체가 가비지 수집 되는 것을 중지하지 않는 참조를 생성하기 위한 새로운 클래스입니다.


WeakRef가 객체를 가리킬 때마다 해당 객체가 가비지 수집 된다는 것은 아닙니다. 단지 WeakRef가 가비지 수집기가 그렇게 하는 것을 막지 않을뿐입니다. (문제의 개체를 지우기 위해 가비지 수집기를 중지하는 다른 참조가 있을 수 있습니다.)


이것을 사용할 필요가 없을 것입니다. 하지만 약한 참조를 만드는 방법은 다음과 같습니다.


let obj = { name: "Andy" }
const myRef = new WeakRef(obj)


그런 다음 다음과 같이 래핑 된 개체를 가져올 수 있습니다.


myRef.deref() // { name: "Andy" }


가비지 수집기가 이미 메모리에서 제거했다면, 대신 undefined를 반환합니다.


4. 논리적 할당 연산자 


이것은 기본적으로 논리 연산자를 할당과 결합하는 연산자 집합입니다.


그들은 다음과 같이 보입니다 :


a ||= b
a &&= b
a ??= b


첫 번째 것이 어떻게 작동하는지 설명 할 것입니다. 기본적으로 다른 두 가지가 무엇을 하는지 추측 할 수 있습니다.


두 개의 변수가 있다고 가정 해 보겠습니다.


let a = true
let b = false


그런 다음 || = 연산자를 사용하여 b를 a에 할당합니다.


a ||= b


이것을 일반 대 입문으로 취급 할 수 있지만 비틀림이 있습니다. a가 거짓 인 경우에만 할당이 성공합니다. 그러나 이 예에는 a가 없으므로 a는 마지막에 여전히 참입니다.


제안 문서에서 자세한 내용을 확인할 수 있습니다.


5. Numeric Separators 


let num = 1000000000


10 억 또는 1 억입니까 ?? 

이제 ES 2021에서는 다음과 같이 작성할 수 있습니다.


let num = 1_000_000_000


자, 그것은 10 억처럼 보입니다.


결론 


좋습니다. ES 2021 용입니다. 원하는 경우 사용하세요. Babel을 사용하여 IE 11을 대상으로 해야 하는 경우 WeakRef 또는 논리적 할당 연산자를 사용하지 마십시오. (작동하지 않을 수 있으므로)


https://dev.to/jsdev/es-2021-features-3edf