?. / ??

GAHEE KIM·2022년 6월 15일

Optional Chaining 연산자 ( ?. )

: ?. 왼쪽이 null, undefined면 점 안찍고 undefined로 남겨줌

언제쓰는가?

중첩된 object자료에서 자료 뽑을 때 reference에러 없이 안전하게 뽑을 수 있음
dept가 1일때는 객체 내부에 접근할때 값이 없으면 undefined로 자동적용.
하지만 그 보다 안에있는 값 (2개이상)인 경우는 에러남
(= undefined.value , null.value는 에러)

const user = {
  	name: 'kim',
  	// age: {value :20}
	}

console.log(user.age.value); <- 에러때문에 코드실행이 중단되는 상황
console.log(user.age?.value); <- 왼쪽이 비어있으므로 오른쪽 안함

nullish coalescing 연산자 ( ?? )

: ?? 왼쪽이 null, undefined면 오른쪽값으로 리턴

언제쓰는가?

: api가 늦게 도착하는 경우같이 데이터가 없어서 null, undefined로 정의될때 오른쪽 값으로 출력.

const name = null;

console.log(name??'로딩중'); <- 왼쪽값이 null이기때문에 오른쪽값 출력
// '로딩중'

중요
안전성 관련 이슈로 인해 자바스트립트 언어에서는 ??는 &&나 ||를 함께 사용 못함.
사용하기 위해서는 괄호를 이용하면 됨.

profile
티끌모아 찐개발자되기

0개의 댓글