[null 병합 연산자]
물음표 두개(??) 를 사용하여 null 혹은 undefined 값을 가려내는 연산자로, 연산자 왼편의 값이 null 이나 undefined 면, 연산자 오른쪽 값이 리턴되고, 연산자 왼편의 값이 null 이나 undefined 가 아니라면 왼편의 값이 리턴.
const example1 = null ?? 'I'; // I
const example2 = undefined ?? 'love'; // love
const example3 = 'Codeit' ?? 'JavaScript'; // Codeit
console.log(example1, example2, example3); // I love Codeit
이는 or 연산자와 비슷해보이지만,
const title1 = false || 'codeit';
const title2 = false ?? 'codeit';
console.log(title1); // codeit 왼편의 값이 falsy 인지 확인
console.log(title2); // false 왼편의 값이 null 혹은 undefined 인지 확인
const width1 = 0 || 150;
const width2 = 0 ?? 150;
console.log(width1); // 150
console.log(width2); // 0
OR 연산자는 왼편의 값이 falsy값이면 오른편 값을 리턴, null 연산자는 null이나 undefined 인지 확인한 후 아니면 왼편값 리턴하므로
결과가 다르게 나온다.
'JavaScript > Modern JavaScript' 카테고리의 다른 글
[JavaScript] try catch 문 (0) | 2023.05.19 |
---|---|
[JavaScript] 에러와 에러 객체 (0) | 2023.05.19 |
[JavaScript] 옵셔널 체이닝 (Optional Chaining) (0) | 2023.05.18 |
[JavaScript] 조건 연산자/ 삼항 연산자 (0) | 2023.05.18 |
[JavaScript] this 객체 (0) | 2023.05.18 |