JavaScript 배열 감별 함수, isArray(value)
자바스크립트의 배열은 비교 연산자에 들어갈 수 없다.
let array = [];
if(array === []);
- 빈 배열을 비교하고자 if문에서 비교 연산자를 이렇게 사용해보자.
- 이렇게 되면 해당 if문은 그대로 무시되고 오류를 뱉어내지도 않는다.
- 따라서 배열을 '비교'하려면 비교연산자로는 할 수 없다.
example
let array = [];
if(Array.isArray(value));
- 따라서
Array
라는 객체 안의 isArray
라는 함수에서 배열이란 인수를 넣었을 때, 해당 인스턴스가 배열인지 배열이 아닌 지를 구분한다.
- 이렇게 하여서 먼저 해당 인스턴스가 배열인지부터 조건에 들어가야 한다.
let array = [];
if(Array.isArray(value) && array.length === 0);
- 그리고 배열 안에 데이터가 있는 지 없는 지를 조건부에 걸고 싶을 때는
array.length
를 통해 가능하다.
왜 isArray()를 사용해야 하나?
- 자바스크립트에서 배열은 독립된 자료형이 아닌 객체형에 속한다.
- 때문에 인스턴스의 type을 알 수 있는
typeof()
라는 함수를 사용하면 oject
로 나올 수밖에 없다.
- 따라서 isArray를 통해서 배열인지를 구분할 수 있게 하는 것이다.
- 또한 배열이란 자료형은 자주 사용하는 자료형이기 때문에 이러한 함수가 유용하다.