데이터 구조가 Map() 유형인지 어떻게 확인할 수 있습니까?isArray equivalent?
나는 사방을 찾고 있었고,
난 정말 내가 키와 같은 개체를 사용할 수 있기 때문에이를 사용에 들어가 원하는 방법을 찾을 수 없습니다! 객체의 프로토 타입 체인 프로토 타입 속성이 있는지 여부를
데이터 구조가 Map() 유형인지 어떻게 확인할 수 있습니까?isArray equivalent?
나는 사방을 찾고 있었고,
난 정말 내가 키와 같은 개체를 사용할 수 있기 때문에이를 사용에 들어가 원하는 방법을 찾을 수 없습니다! 객체의 프로토 타입 체인 프로토 타입 속성이 있는지 여부를
당신은 Documentation
instanceof 연산자 테스트부터 instanceof opeartor
var map = new Map(); var arr = []; console.log(map instanceof Map); console.log(map instanceof Array); console.log(arr instanceof Map); console.log(arr instanceof Array);
을 사용할 수 있습니다 생성자의.
당신은 instanceof
운영자 또는 constructor
특성 중 하나를 사용할 수 있고 객체에 대해 확인한다.
자세한 내용은이 읽기 : 심지어 Object.prototype.toString.call
을 사용할 수 있습니다 What's the difference between using instanceof and checking the constructor?
var map = new Map();
var arr = [];
console.log(map instanceof Map); // true
console.log(map instanceof Array); // false
console.log(map.constructor === Map); // true
console.log(map.constructor === Array); // false
console.log(arr instanceof Map); // false
console.log(arr instanceof Array); // true
console.log(arr.constructor === Map); // false
console.log(arr.constructor === Array); // true
// caveat!
console.log(arr.constructor === Object); // false
console.log(map.constructor === Object); // false
console.log(arr instanceof Object); // true
console.log(map instanceof Object); // true
유용한 참조 링크 : [instanceof vs constructor] (http://stackoverflow.com/questions/18055980/whats-the-difference-between-using-instanceof-and-checking-the- 건설자) – Rajesh
, instanceof
(의 대답 suren srapyan @)가 더욱 바람직하다하지만
var a = [1,2,3];
var m = new Map()
a.forEach((x,i)=>m.set(i+1, x));
console.log(Object.prototype.toString.call(m))
또한 [[Array.isArray]와 [instanceof Array'의 차이점] (https://stackoverflow.com/questions/22289727/difference-between-using-array-isarray-and-instanceof)에 유의하십시오. -정렬). – Pavlo
@Pavlo 유용한 링크를 주셔서 감사합니다 –