JavaScript에서 배열을 감지하는 3가지 방법!

방법 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()를 사용하는 것이 가장 쉽고 안정적인 방법이지만, 특정 요구 사항에 따라 배열을 검색하려면 적절한 방법을 선택하십시오.

초보자부터 프론트엔드 JavaScript 마스터까지 다크호스 프로그래머를 위한 전체 비디오 튜토리얼, Javascript 핵심 고급 ES6 구문, API, 고급 js 등에 대한 기본 지식 및 실용적인 튜토리얼입니다.

 

おすすめ

転載: blog.csdn.net/Itmastergo/article/details/132356947