- 判断的意义?
首先,后端返回一个变量,前端不分明是数组还是对象 ;
其次,对象与数组原型链上的 办法 是不同 的。
- 是否能用
typeof
?
不能够。null,数组,对象
,三者应用typeof()
返回的都是 "object"
typeof
能够返回的类型为:number
、string
、boolean
、undefined
、object
、function
typeof(undefined) // "undefined"
typeof(null) // "object"
typeof([1,2]) // "object"
typeof({a:1}) // "object"
typeof('123') // "string"
typeof(1) // "number"
typeof(true) // "boolean"
typeof(Array) // "function"
typeof(() => {}) // typeof 箭头函数返回也是 "function"
- 拓展
typeof()
谨记 typeof
的返回值都是 string
类型
typeof(typeof(null)) // "string"
typeof(typeof(undefined)) // "string"
typeof(undefined) === undefined // false
typeof(undefined) === "undefined" // true
- 如何判断变量是否是数组?
a = []
a instanceof Array // true
a.constructor === Array // true
Array.prototype.isPrototypeOf(arr) // 原型链判断
Array.isArray(arr) // JS 数组办法 Array 中的 isArray 办法