?? 는 널 병합 연산자 (Nullish coalescing operator) 로 ES6부터 쓰기 시작했다.
지원 브라우저 체크하는게 좋다.
let some = A ?? B
설명) 'A가 null 이거나 undefined이면 B로 해라' 라고 까지만 설명들을 봤다.
좀 더 디테일한 설명이 필요한데 'A가 null 이거나 undefined이면 B로 하고 그렇지 않으면 A로 하라' 라고 풀어 설명해 주는게 좋을 듯 하다.
나는 기본값을 지정해주는 용도로 사용하고 있다.
위 문법 예시처럼 A가 무언가의 데이터를 참조해서 변수로 지정될 때 참조할 데이터가 없을 경우 아래 예시처럼 기본 값을 지정해 사용한다.
var i = { a : 10, b : 20 } var n = i.a ?? 0; console.log(n); //10 n = i.b ?? 0; console.log(n) //20 n = i.c ?? 0; console.log(n) //0
아래 문서를 참고해서 조금 더 디테일하게 확인할 수 있다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator