JavaScript ES6 문법 - ?. / ??

박재휘·2024년 3월 5일

JavaScript

목록 보기
18/19
post-thumbnail

1. optional chaining (?.)

optional chaining 연산자 (?.) 는 체인의 각 참조가 유효한지 명시적으로 검증하지 않고, 연결된 객체 체인 내에 깊숙이 위치한 속성 값을 읽을 수 있다.

  • 중첩된 object 자료에서 에러없이 안전하게 데이터를 꺼낼 때 사용한다.
  • chaining연산자 . 과 비슷하지만 ?.의 왼쪽 값이 null 또는 undefined 이면 에러 대신 undefined를 출력한다.
  • 에러를 해결하는것이 아니라 에러를 감추는 문법이다.
var user = {
  name: "kim",
  age: { value: 20 },
};

console.log(user.age1?.value); // undefined
console.log(user.age1.value1); // error

결과


2. nullish coalescing operator (??)

널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.

console.log(null ?? "로딩중");
console.log(undefined ?? "로딩중");
console.log("null, undefined 아님" ?? "로딩중");

결과

  • 데이터가 ajax요청 등으로 늦는 경우가 있는데 데이터가 로드되기 전에 보여주고 싶은 것을 정할 수 있어 React나 Vue 같은 라이브러리에서 유용하게 쓰인다.
profile
차곡차곡 열심히

0개의 댓글