JavaScript 2021
JavaScript 2021: New Features | Medium
한줄한줄 공부하면서 나름대로 번역&정리
논리적 할당 연산자
새로운 논리적 할당 연산자
논리 연산자 (Logical operators)
&& (AND), || (OR), ! (NOT)
true && true; // true
true && false; // false (false && anything => false)
'Cat' && 'Dog'; // 'Dog'
true || true; // true
true || false; // true (true || anything => true)
'Cat' || 'Dog'; // "Cat"
!true; // false
!0; // true
!'Cat'; // false
??
Nullish coalescing operator
Nullish 병합 연산자
왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고,
그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자
cf. 왼쪽 피연산자가 null 또는 undefined 뿐만 아니라 falsy 값( '' 또는 0)에 해당할 경우 오른쪽 피연산자를 반환하는 논리 OR 연산자 (||)
null ?? 'Apple'; // 'Apple'
0 ?? 42; // 0
할당 연산자 (Assignment operators)
= : 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당
복합 할당 연산자 (Compound assignment operators)
x += y; // x = x + y (덧셈 할당)
x -= y; // x = x - y (뺄셈 할당)
x &= y; // x = x & y (비트 AND 할당)
&&=
x &&= y : 논리적 AND 할당
변수 x가 참 같은 값 (Truthy) 일 때, 변수 x에 변수 y의 값을 할당
x &&= y; // x && (x = y)
if(x) {
x = y;
}
||=
x ||= y : 논리적 OR 할당
변수 x가 거짓 같은 값 (Falsy, falsey) (false, 0, '', null, undefined, NaN)일 때만,
변수 x에 변수 y의 값을 할당
x ||= y; // x || (x = y)
if (!a) {
x = y;
}
??=
x ??= y : 논리적 nullish 할당
변수 x가 Null 같은 값 (Nullish)일 때, y를 반환한다.
x ??= y; // x ?? (x = y)
let x;
x ??= 1;
if(x === null || x === undefined) {
x = 1;
}
추가 참조 URL
Nullish Coalescing Operator
null 병합 연산자 '??'
replaceAll method
String.prototype.replaceAll() | MDN
replace method 는 첫번째 요소만 교체하기 때문에
모두 바꿔주기 위해서는 정규식이 필요했지만, replaceAll method 로 해결되었다.
'Apple'.replace('p', 'q'); // 'Aqple'
'Banana'.replace(/n/g, 'h'); // 'Bahaha' (정규식)
'Apple'.replaceAll('p', 'q'); // 'Aqqle'
_ (underscores)
언더바( _ )를 정수의 구분자로 사용
정수가 너무 커지면 수를 세거나 자릿수를 알아내는 것이 거의 어려워진다.
데이터 타입을 문자열로 바꾸지 않고, 숫자를 언더바로 구분하여 정수의 가독성을 향상시킬 수 있다.
let number = 1_000_000_000; // 1000000000
Promise.any()
반복 가능한(iterable) promise 를 취하고 먼저 이행된 promise 를 반환한다.
Author And Source
이 문제에 관하여(JavaScript 2021), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@imim/JavaScript-2021저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)