[Typescript] Null 처리 연산자

[원본 링크]

어떤 객체의 메서드를 호출하는 코드가 있다고 하자.
그리고 이 객체의 변수는 null일 수도 있다.

그러면... 그냥 null이 아닐때는 문제가 없을 것이다.

그럼 문제 없이 잘 돈다.

근데 null이라면... 어떻게 될까?

당연히 에러를 터뜨린다.

저걸 해결하려면 먼저 null 체크를 하고 로직을 수행하면 된다.

근데 이것도 한두번이지, 계속 쓰다보면 코드가 좀 지저분해질 수도 있다,
더 단순하고 간단한 방법은 없을까? 하니



옵셔널 체이닝 연산자

있다. ?. 연산자를 사용하면 된다.
이걸 보통 옵셔널 체이닝 연산자라고 해서, null이면 연산을 그만두고 null을 반환.
정상적인 값이면 메서드 호출을 지속하는 녀석이다.

오류 없이 잘 돌아간걸 볼 수 있다.



?? 연산자

이건 전에 ||를 사용했을 때와 동작은 같다.
왼쪽 피연산자가 정상적인 값이면 그대로 반환, 아니면 오른쪽 값을 반환한다.



! 연산자

null이 아님을 확신할 수 있을 때만 사용하는 연산자다.
사실 동작은 붙였을 때와 안붙였을 때의 차이가 없는 것 같다.

이런 코드는 나쁜 코드다. 꼭 항상 null 체크를 제대로 하도록 하자.