이번 포스팅에서는 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);
'JavaScript > 배열' 카테고리의 다른 글
[JavaScript]배열을 섞는 방법 (0) | 2021.12.20 |
---|---|
[JavaScript]배열에 중복 값이 있는지 확인하는 방법 (0) | 2021.12.01 |
[JavaScript]배열을 결합하는 방법 (0) | 2021.11.29 |
[JavaSciprt]배열을 비교하는 방법 (0) | 2021.11.29 |
[JavaScript]배열에서 최댓값(max), 최솟값(min) 구하기 (0) | 2021.08.13 |
댓글