노드 방식에서 콜백함수는 (예: (err,somethingElse)=>{ /* something */ }) 일반적으로 err는 null로 설정된 에러를 가지고 호출하며 truthy 확인을 사용합니다.
자신의 API를 만들때 일관성을 위해서 null을 사용하는게 좋습니다. 자신의 모든 API에 대해서 에러를 .then vs. .catch를 사용해서 처리해야 합니다.
undefined를 유효성을 나타내는 수단으로 사용하지 마십시요.
예를 들어 이런 끔찍한 함수가 있습니다.
이렇게 쓰는게 더 좋을 수 있습니다. can be much better written like this:
JSON 그리고 serialization
JSON 표준은 null인코딩을 지원하지만 정의되지는 않습니다. JSON이 null속성으로 객체를 인코딩할때 값으로 포함되는 반면에 undefined는 제외됩니다.
결과는 JSON 기반 데이터베이스는 null값을 지원하지만 undefined는 지원하지 않습니다. 속성값을 null을 이용하여 속성을 지울 수 있습니다.
속성값을 undefined를 이용하면 저장소 비용을 절약할 수 있습니다. 하지만 의미론적으로 볼때 이러한 방법은 더 복잡하게 만들 수 있습니다.
결론
타입스크립트팀은 null을 사용하지 않습니다. 타입스크립트 코딩 가이드 그럼에도 아무런 문제가 발생하지 않았습니다. 더글락스 크록포드는 null을 사용하는 것이 안좋은 생각이라고 말했습니다. null을 사용하지 말아야 할 이유 우리는 모두 undefined을 사용해야 합니다.
그러나 NodeJS 스타일 코드는 에러 매개변수를 null을 표준으로 사용합니다. 나는 개인적으로 두 프로젝트를 구별하는 것을 신경쓰지 않습니다. 대부분의 프로젝트가 서로 다른 라이브러리를 사용하고 == null로 배제하기 때문입니다.