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 를 반환한다.

좋은 웹페이지 즐겨찾기