아래 값들은 false로 평가되는 Falsy 값이다.
var value = elem && elem.value;
str = str || '';
?. 는 좌항의 피연산자가 null 또는 undefined인 경우 undefined를 반환하과 그렇지 않으면 우항의 프로퍼티 참조를 이어간다.
var value = elem?.value;
?. 는 객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때 유용하다.
var str = '';
var length = str && str.length;
console.log(length); // ''
var str = '';
var length = str?.length
console.log(length); // 0
?? 는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다.
var foo = null ?? 'default string';
?? 는 변수에 기본값을 설정할 때 유용하다.
var foo = '' || 'default string';
console.log(foo); // 'default string'
var foo = '' ?? 'default string';
console.log(foo); // ''