저장을 습관화
자바크스립트 문법 ?.과 ?? (Optional chaining과 Nullish coalescing) 본문
내용 출처
- ?. (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 |