undefined 같은 경우는 자바스크립트에서 변수를 선언했을 때 런타임 이전에 undefined으로 초기화 됩니다(ES6에서 추가된 키워드는 선언 시 undefined로 초기화 되지 않고 TDZ에 들어갑니다). 할당은 런타임 시점에서 할당문을 만났을 때 발생합니다. 즉, 할당되지 않은 변수일 때 undefined 입니다. undefined는 자료형이고 값은 유일하게 undefined가 있습니다. 이 타입은 개발자가 임의로 할당하기 위한 것이 아닙니다. null 같은 경우는 가령 api 서버에서 데이터베이스의 데이터를 쿼리할 때 해당하는 데이터가 없을 때 null을 리턴합니다. exception을 던지는 수단은 가장 마지막에 고려되고, 일반적으로 null을 리턴합니다. 즉 null은 개발자가 임의로 할당하는 값입니다. 정리해서, 둘의 차이는 개발자가 의도를 갖고 변수에 할당할 수 있는 지의 차이입니다. 빈 변수라는 것을 보이고 싶다면, undefined가 아니라 null을 할당해야 합니다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 7일 오전 5:09

조회 161

댓글 0