기본 콘텐츠로 건너뛰기

라벨이 undefined인 게시물 표시

JavaScript에서 undefined와 null은 언제 다르게 써야 할까

JavaScript에서 undefined와 null은 언제 다르게 써야 할까 빠른 답 undefined 는 값이 아직 할당되지 않았거나 찾을 수 없을 때 JavaScript 실행 과정에서 자주 관찰되는 값이다. null 은 개발자가 “값이 없음”을 데이터로 명시하고 싶을 때 넣는 값이다. null==undefined 는 true 지만 null===undefined 는 false 이므로, 조건문에서는 두 상태를 함께 볼지 분리할지 의도가 드러나야 한다. 객체 참조를 null 로 바꾸면 참조 하나를 끊을 수 있지만, 메모리가 즉시 해제된다는 뜻은 아니다. 목차 한눈에 비교 시간 흐름으로 이해하기 왜 둘 다 비어 있음처럼 보일까 undefined가 나타나는 대표 상황 null을 쓰는 대표 상황 비교와 타입 확인에서 생기는 차이 JSON과 API에서 달라지는 의미 팀 규칙으로 맞춰 둘 부분 흔한 오해 선택 기준 한눈에 비교 생성 방식 undefined 는 선언만 된 변수, 생략된 인자, 없는 프로퍼티처럼 실행 중 자동으로 관찰되는 경우가 많고, null 은 개발자가 직접 대입하는 경우가 많다. 의미 undefined 는 “아직 값이 정해지지 않았거나 찾지 못함”에 가깝고, null 은 “값이 없다고 명시함”에 가깝다. 타입 확인 typeof undefined 는 "undefined" 이고, typeof null 은 오래된 JavaScript 동작 때문에 "object" 를 반환한다. 비교 결과 null==undefined 는 true 지만 null===undefined 는 false 다. 데이터 모델 없는 객체 프로퍼티를 읽으면 undefined 가 나오고, 프로퍼티에 null 을 저장하면 “필드는 있지만 값은 없음”이 표현된다. 직렬화 JSON.stringify() 에서 객체의 undefined 프로퍼티는 빠질 수 있고, null 은 null 로 남는다. 시간 흐름으로 이해하기 코드 작성 변수를 선언만 하거나 ...