JavaScript/배열

[JavaScript]배열이 비어있는지 확인하는 방법

DevStory 2021. 12. 1.

[JavaScript]배열이 비어있는지 확인하는 방법

이번 포스팅에서는 JavaScript에서 배열이 비어 있는지 확인하는 방법을 소개합니다.


Array.length는 배열의 길이(length)를 반환합니다. 배열이 비어 있는지 확인하려면 length 속성이 0인지 체크합니다.

const arr = [];

if(arr !== 0) {
  console.log("Not Empty");
}

 

JavaScript에서 0, null, undefined는 거짓으로 평가됩니다. 즉, 배열의 길이가 0인 경우 거짓이므로 if문과 같은 조건문에서 false로 평가됩니다.

 

다음은 위에서 작성한 코드를 심플하게 작성하였습니다.

const arr = [];

if(arr) {
  console.log("Not Empty");
}

 

JavaScript는 타입을 체크하지 않기 때문에 변수(함수, 객체, 배열등...)를 배열에 할당할 수 있습니다. 배열에 할당되는 변수는 null 값을 가질 수 있으며, 배열도 null로 할당될 수 있습니다.

 

그리고 배열이 존재하지 않을 수(undefined) 있습니다.

 

그러므로 배열의 length 속성을 체크하기 전에 배열이 null 또는 undefined인지 먼저 체크해야 합니다.

const nullVal = null;

const arr = nullVal;

if(arr && arr.length) {
  console.log("Not Empty");
} else {
  console.log("Empty");
}

 

위 조건문은 선택적 체이닝 연산자( ?. )를 사용하여 코드를 단순하게 작성할 수 있습니다.

 

?. 연산자는 ?. 앞의 평가 대상이 unedfined 또는 null이면, 평가를 멈추고 undefined를 반환합니다.

const arr = [];

if(arr?.length) {
  console.log("Not Empty");
} else {
  console.log("Empty");
}

배열 arr이 비어 있는지 arr?.length로 체크하면, 배열 arr이 null 또는 undefined라도 에러가 발생하지 않습니다.

 

※ 선택적 체이닝 연산자( ?. )는 IE에서 동작하지 않습니다.

 

배열이 비어 있으면 false, 비어 있지 않으면 true를 변수에 저장하려면 Boolean 함수를 사용할 수 있습니다.

 

Boolean 함수는 falsy 값을 포함하여 null, undefined, 0을 false로 평가합니다.

const arr = [];

const isNotEmpty = 부울(arr?.length);

console.log(isNotEmpty);

 

반응형

댓글