예를 들어 다음과 같은 함수가 있다고 가정해봅시다
이 상황에서 만약 print 함수가 아래 사진과 같이 파라미터가 비어진 상태로 실행되었다고 가정해봅시다
그러면 다음과 같은 에러가 발생하게 됩니다
TypeError: Cannot read property 'name' of undefined
이러한 상황에서, 만약에 print 함수에서 만약에 object 가 주어지지 않았다면, 문제가 있다고 콘솔에 출력해야 한다면 아래와 같이 구현 할 수 있습니다.
그런데 만약에 다음과 같이 print 에 null 값이 파라미터로 전달되면 어떨까요?
그러면 또 오류가 발생하게 됩니다
TypeError: Cannot read property 'name' of null
그렇다면 또 null일때의 조건을 코드에 추가해줘야 합니다
이렇게 person 이 undefined 이거나, null 인 상황을 대비하려면 위와 같이 코드를 작성해야하는데요, 여기서 위 코드는 다음과 같이 축약해서 작성 할 수 있습니다
이게 작동하는 이유는, undefined 와 null 은 Falsy 한 값입니다. Falsy 한 값 앞에 느낌표를 붙여주면 true 로 전환됩니다.