코드로보시죠
[JavaScript-54] ? 물음표 관련 문법(null 병합 연산자, 옵셔널 체이닝) 본문
자바스크립트에서는 물음표도 아주 중요한 문법 요소입니다!
오늘은, 물음표를 사용하는 두 가지 어법에 대해 알아보도록 해요!
(1) null병합 연산자
null병합 연산자는, 물음표 두 개를 써서 나타냅니다.
console.log(null ?? 'hi'); //hi
console.log('bye' ?? 'hi'); //bye
물음표의 앞 대상이 null, undefined라면, 물음표 오른쪽의 값을,
물음표의 앞 대상이 null, undefined가 아니라면 물음표의 왼쪽 값을 선택해주는 연산이라고 보시면 됩니다!
(2) 옵셔널 체이닝
옵셔널 체이닝은 물음표 하나와 마침표 하나를 써서 표현하는데요,
특정 객체 안에 접근하고자 하는 프로퍼티가 있으면 접근하고, 없으면 undefined값을 리턴해줍니다.
코드로 보시죠
const myCar = {
brand: 'benz',
model: 'E220',
secondCar = {
name: '520d'
};
};
console.log(myCar.secondCar.name); //520d
console.log(myCar.secondCar?.purchaseYear); //undefined
두 개의 출력 코드 중, 맨 아래의 코드를 보면 ?. 부분이 보이죠?? 저게 바로 옵셔널 체이닝입니다!
지금, secondCar다음에 ?. 를 써주었으니, secondCar객체 안에 purchaseYear라는 프로퍼티가 없으면 undefined를 출력하고,
있다면 그 프로퍼티에 접근하겠죠?
그런데, secondCar객체에는 제가 따로 purchaseYear라는 프로퍼티를 만들어두지 않았기 때문에,
undefined가 출력된 것을 확인할 수 있습니다!
'[JavaScript] 코드잇과 함께!' 카테고리의 다른 글
[JavaScript-56] 배열 구조분해(destructuring) (0) | 2023.10.01 |
---|---|
[JavaScript-55] 두 변수의 값 교환하기 (0) | 2023.10.01 |
[JavaScript-53] 객체의 프로퍼티를 간단하게 표기하기 (0) | 2023.10.01 |
[JavaScript-52] 객체 spread (0) | 2023.10.01 |
[JavaScript-51] 배열 spread (0) | 2023.10.01 |