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.)