配列を判断する方法は何ですか?


配列を判断する方法は何ですか?
  • Aray.isAray()
    const arr = [1,2,3]
    console.log(Array.isArray(arr)) // true')
  • constructor
    console.log(arr.constructor === Array) // true
  • instance of(オブジェクトタイプのみ判断でき、元のタイプは判断できず、すべてのオブジェクトタイプはObject)
    [] instanceof Object //true
    [] instanceof Array //true
    {} instanceof Object //true
    new String('3213') instanceof String //true
    '1231' instanceof String //false
    
    console.log(arr instanceof Array)
  • Object.prototype.toString()
    console.log(Object.prototype.toString.call(arr) === '[object Array]'
  • のうちinstance ofは、原則としてconstructorで判断される
  • です.
  • 仕事中の書き方
    if(!Array.isArray) { //         isArray  
      Array.isArray = function(arg){
        return Object.prototype.toString.call(arg) === '[object Array]'
      }
    }