Language/Javascript
JS '.?' 연산자란?
brother_stone
2021. 9. 11. 18:53
Optional chaining연산자 .?는 .(체이닝 연산자)와 유사하게 작동하지만, 참조가 nullish일 때 에러를 발생시키는 대신 undefined를 리턴한다는 차이점이 있다.
함수 호출 시 .?연산자를 사용하면 주어진 함수가 존재하지 않을 때 undefined를 리턴한다.
예시:
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah'
}
};
const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined
console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined
참조가 누락될 가능성이 있는 경우 안전하게 객체의 내용을 탐색하는데 도움이 될 수 있다.
결론: .연산자를 사용해야할 상황에서 참조가 nullish할 우려가 있을 때 .?연산자를 사용할 수 있다.