null과 빈배열
자바스크립트에서 null, 또는 널이라는 것은 값이 지정되어 초기화되지 않은 객체를 말합니다.
정확히는 널객체라고 해야 합니다.
아래와 같이 null을 대입해 초기화를 합니다.
그와 달리 빈배열은 배열 오브젝트로 초기화 되어 있으며, 배열 메서드를 사용할 수 있고, 길이 값이 0인 배열 객체를 말합니다.
빈 배열과 널은 완전히 다르며, 코딩 습관에 따라 다르겠지만, 배열을 사용하기 위해 변수를 생성할 경우 반드시 빈 배열로 초기화를 하는 것을 추천합니다.
빈 배열의 초기화는
와 같이 배열 리터럴로 간단하게 표시를 하는 것으로 완료됩니다.
배열 객체는 길이 속성이 있고 배열의 요소 갯수를 알기 위해서는
Array.length;
와 같이 길이(length) 속성값을 통해 정보를 얻게 됩니다.
널로 초기화한 객체는 기본 객체이기 때문에 길이 값이 없고, data.length 로 속성에 접근하면 바로 에러가 표시됩니다.
길이 속성을 사용할 수 있는지 체크
널은 객체 타입이지만 일반 객체와는 다르며, 자바스크립트에서 널객체는 불리언 체크시 false가 됩니다.
따라서 객체가 널(또는 undefined)인지 배열 객체인지 구분하기 위해 조건절로 체크를 할 수 있습니다.
이렇게 조건문으로 객체를 체크해서 널객체(또는 undefined)인지 여부를 판단할 수 있습니다.
배열을 넘겨받는 변수인 경우 이렇게 조건문으로 배열을 체크해주면 변수에 길이값을 사용할 수 있는지를 판단할 수 있기 때문에 에러가 발생하는 상황을 피할 수 있습니다.
!주의할 점
자바스크립트에서는 '', null, undefined, 0, NaN 은 false 입니다.
그 외의 모든 데이터는 true를 반환합니다.
Comments