옵셔널 체이닝 연산자(Optional Chaining Operator)는 ES11에 도입된 새로운 연산자입니다.
왼쪽의 피연산자가 null 또는 undefined인 경우 undefined를 리턴함.
그렇지 않으면 오른쪽의 프로퍼티 참조를 이어갑니다.
사용 방법 : 왼쪽친구 ?. 오른쪽친구
널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.
??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있습니다.
위 코드는 기존의 item.cards라는 배열의 마지막요소의 pos 값을 구해
65535라는 값을 더하는 코드이다.
item.cards의 요소가 null또는 undefined 인 경우에 옵셔널 체이닝 연산자를 이용해 undefined를 리턴하도록 하여 오른쪽 프로퍼티 참조를 이어가도록 한다.
그후 널병 합연산자 "??" 를이용하여 null 값을 인지하게 한 후 "1" 이라는 값으로 반환하게 하였다.