JavaScript/배열

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

DevStory 2021. 12. 1.

이번 포스팅에서는 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);

 

반응형

댓글