판단 방법: 1. Array 객체의 isArray() 함수를 사용하여 변수가 배열인지 확인합니다. 구문은 "Array.isArray(obj)"입니다. 배열이면 true를 반환합니다. 거짓을 반환합니다. 2. "Object.prototype.toString()"으로 판단하면 구문은 "Object.prototype.toString.apply(a) === '[object Array]'"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
JS의 약한 타이핑 메커니즘으로 인해 주니어 프론트엔드 개발자 면접 시 변수 유형 판단이 필수 질문이 됩니다. 일반적으로 후보자를 검토하는 첫 번째 질문으로 사용하고 이를 기반으로 진행합니다.
ES5에서 변수가 배열인지 확인
ES5에는 값이 배열인지 확인하는 최소한 다음 5가지 방법이 있습니다. 변수 유형을 결정합니다.
코드의 실행 환경은 매우 복잡하고 변수는 작성자를 혼란스럽게 하기 위해 온갖 종류의 트릭을 사용할 수 있다는 점을 알아야 합니다. 살펴보겠습니다: Object.prototype.toString
var a = []; // 1.基于instanceof a instanceof Array; // 2.基于constructor a.constructor === Array; // 3.基于Object.prototype.isPrototypeOf Array.prototype.isPrototypeOf(a); // 4.基于getPrototypeOf Object.getPrototypeOf(a) === Array.prototype; // 5.基于Object.prototype.toString Object.prototype.toString.apply(a) === '[object Array]';
배열의 일반적인 용도를 고려하여 ES6에서는 Array.isArray 메서드를 추가했습니다. 이 메서드를 사용하면 변수가 배열인지 확인하는 것이 매우 간단합니다.
var a = { __proto__: Array.prototype }; // 分别在控制台试运行以下代码 // 1.基于instanceof a instanceof Array; // => true // 2.基于constructor a.constructor === Array; // => true // 3.基于Object.prototype.isPrototypeOf Array.prototype.isPrototypeOf(a); // => true // 4.基于getPrototypeOf Object.getPrototypeOf(a) === Array.prototype; // => true
Array.isArray([]); // => true Array.isArray({0: 'a', length: 1}); // => false
javascript 학습 튜토리얼
위 내용은 es6에서 변수가 배열인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!