• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

17분쯤 질문드립니다.

19.06.04 22:00 작성 조회수 98

2

잘못된 접근을 했을때 에러를 뱉어내는게 더 좋은 방법 아닌가요?

런타임 전에 체크를 강하게 하는 방향으로 바뀌는 것 같던데,,

에러를 내지 않고 undefined를 내는 것의 장점이 무엇인지 궁금합니다.

답변 1

답변을 작성해보세요.

4

핸들링해서 분기를 쳐야하는 경우가 있고, 아무일도 안 일어나거나 언디파인드를 리턴해야하는 경우가 있습니다. 두 가지다 필요에 맞춰서 사용하면 됩니다. 예시로는 Array.prototype.find 같은 함수가 결과를 못 찾으면 undefined를 리턴 합니다. 

런타임 전이라면 컴파일 레벨을 말씀하시는걸텐데, 컴파일에서 체크할 수 없는 유효하지 않은 값이 나올 경우 당연히 런타임에서 핸들링해야하고, 런타임에서 try catch로 핸들링해야하는 경우와 자연스럽게 흘려보내는 경우 두 가지 모두 적절하게 사용하면 됩니다.