방법 1: Array.isArray() 사용
Array.isArray()는 주어진 값이 배열인지 여부를 결정하는 내장 함수입니다. 부울 값을 반환하며, 주어진 값이 배열이면 true, 그렇지 않으면 false를 반환합니다.
샘플 코드:
const array = [1, 2, 3];
const notArray = 'not an array';
console.log(Array.isArray(array)); // 输出:true
console.log(Array.isArray(notArray)); // 输出:false
방법 2: instanceof 연산자 사용
인스턴스 오브 연산자는 객체가 특정 클래스에 속하는지 여부를 감지하는 데 사용됩니다. JavaScript에서 배열은 Array 유형으로 정의됩니다. 따라서, 값이 배열인지 아닌지를 확인하기 위해 instanceof 연산자를 사용할 수 있습니다.
샘플 코드:
const array = [1, 2, 3];
const notArray = 'not an array';
console.log(array instanceof Array); // 输出:true
console.log(notArray instanceof Array); // 输出:false
instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 여부를 감지하는 데만 사용할 수 있으며 기본 값(예: 문자열, 숫자 등)에 대해서는 사용할 수 없다는 점에 유의해야 합니다.
방법 3: Array.prototype.constructor 사용
JavaScript의 배열 객체는 Array.prototype에서 상속됩니다. 각 배열에는 배열을 만든 Array() 생성자를 가리키는 생성자 특성이 있습니다. 따라서 배열의 생성자 속성을 확인하여 값이 배열인지 여부를 확인할 수 있습니다.
샘플 코드:
const array = [1, 2, 3];
const notArray = 'not an array';
console.log(array.constructor === Array); // 输出:true
console.log(notArray.constructor === Array); // 输出:false
이 접근 방식은 사용자 정의 클래스를 포함한 모든 개체에 적용됩니다. 그러나 전역 실행 환경이 여러 개인 경우 생성자 속성이 재정의될 수 있으므로 결과가 달라질 수 있다는 점에 유의해야 합니다.
요약하자면, JavaScript에서 배열을 검사하는 세 가지 일반적인 방법은 다음과 같습니다. Array.isArray()를 사용하는 것이 가장 쉽고 안정적인 방법이지만, 특정 요구 사항에 따라 배열을 검색하려면 적절한 방법을 선택하십시오.