判断数据类型
console.log(typeof(''))
console.log(typeof({}))
console.log(typeof([]))
console.log(typeof(null))
-
- constructor
- 语法: 数据结构.constructor
- 问题: null 和 undefined 不能使用
- 使用场景: 一般用于引用数据类型
- 潜在问题: 这是原型对象的某一个属性,我们是可以手动更改的
* 1.先在对象自身查找,如果找到直接使用,如果没找到,会去对象的__proto__内部查找
* 2.相当于去了Person的prototype内部查找
* */
console.log([].constructor === Array)
console.log({}.constructor === Array)
-
- Object.prototype.toString.call(要检测的数据)
- 返回值:[object 数据类型] (字符串格式的,并且数据类型的首字母是大写)
- 使用场景:在任意类型都可准确判断,所以大部分情况下都可以使用
console.log(Object.prototype.toString.call([]))
console.log(Object.prototype.toString.call({}))
console.log(Object.prototype.toString.call(null))
console.log(Object.prototype.toString.call(''))
console.log(Object.prototype.toString.call(123))