저장을 습관화

자바크스립트 문법 ?.과 ?? (Optional chaining과 Nullish coalescing) 본문

공부/JavaScript

자바크스립트 문법 ?.과 ?? (Optional chaining과 Nullish coalescing)

ctrs 2023. 5. 30. 21:12

내용 출처

 

- ?. (Optional chaining)

 

아래와 같이 변수 user에 object name과 age를 입력하였다.

var user = {
name: 'kim',
age : 
};

console.log(user.name); // kim
console.log(user?.age); //undefiend

하지만 age에는 그 값이 지정되지 않았고

만일 이 상태에서 console.log(user.age); 를 실행시켰을 경우 TypeError: Cannot read properties of undefined가 발생하고

이 줄 아래의 코드로는 더 이상 진행되지 않는다.

 

이를 방지하기 위해서 if문으로 user의 age 오브젝트에 값이 지정되었는지 확인하던가,

?.를 사용할 수 있다.

 

console.log(user?.age); 로 작성하여 실행시켜준다면

비록 그 결과가 undefined라고 나올지언정 에러는 발생하지 않는다.

 

다시 말해 ?.는 왼쪽이 null, undefined라면 오른쪽을 실행시키지 않는다.

 

하지만 ?. 에러를 잠깐 감춰줄 뿐이지 해결해주는 것은 아니니 꼭 필요한 곳에만 사용하도록 하자

 

- ?? (nullish coalescing)

var user = {
name: 'kim'
};

console.log( undefined ?? '미정의에요!') // 미정의에요!

??는 왼쪽이 null, undefined라면 에러를 발생시키지 않고 대신 오른쪽을 출력한다.

undefined나 null 체크하는데 쓸수 있을것 같다.

 

 

- 추가

 

'공부 > JavaScript' 카테고리의 다른 글

자바스크립트 날짜, 시간 표시  (0) 2023.08.06
Formating(포매팅)해서 출력하기  (0) 2023.08.05
메모 - 객체지향의 가장 기본적인 예시  (0) 2023.07.26
Request와 Response  (0) 2023.06.25
module의 이해  (0) 2023.06.25