본문 바로가기
Javascript

옵셔널체이닝 연산자 ?.

by jennyiscoding 2022. 10. 7.

표기법 : ?.

객체를 가리키기를 기대는 변수가 null또는 undefined가 아닌지 확인하고 프로퍼티를 안전하게 참조할 때 유용. 

null또는 undefined만 false로 인식한다. 즉, 빈문자열을 true로 인식한다. 

 

옵셔널 체이닝 도입 이전에는 논리곱(&&)을 사용한 단축 평가를 통해 변수가 null 또는 undefined인지 확인했음. 

 

첫번째 예로, &&를 쓰는 경우

str = '';
lengthone = str && str.length;
console.log(lengthone)

==> 결과는 빈칸이 나온다. 

// 옵셔널 체이닝 연산자
str = '';
length = str?.length;
console.log(length); // 0

==> 0이 나온다. 

 

예전 방식과 현재 방식

let dog = { name: '바둑이', owner: { name: '연미' } };

function printOwner(obj) {
	const ownerName = obj && obj.owner && obj.owner.name;
    const ownerNamecurrent = obj?.owner?.name;
	console.log(ownerName);
}
printOwner(dog);
printOwner();

 

 

 

 

 

 

 

 

 

'Javascript' 카테고리의 다른 글

set에 대하여  (0) 2022.10.07
널병합연산자 ??  (0) 2022.10.07
논리 연산자 단축평가 || 와 &&  (0) 2022.10.07
형변환  (1) 2022.10.07
자바스크립트 기본  (1) 2022.10.07