美文网首页
判断内置对象

判断内置对象

作者: _不能说的秘密i | 来源:发表于2019-11-17 20:33 被阅读0次

判断内置对象

  • 代码
let obj = {
    id: 1001,
    name : 'test'
};

let arr = [
  'hello',
  'world',
];

let date = new Date();
  • 利用对象的构造函数的 name 属性来判断对象类型
console.log(obj.constructor.name); // Object
console.log(arr.constructor.name); // Array
console.log(date.constructor.name); // Date
  • 借调 ObjecttoString 方法
console.log(Object.prototype.toString.call(date)); // [object Date]
console.log(Object.prototype.toString.call(obj));  // [object Object]
console.log(Object.prototype.toString.call(arr));  // [object Array]
console.log(Object.prototype.toString.call("1")); // [object String]
console.log(Object.prototype.toString.call(10)); // [object Number]
console.log(Object.prototype.toString.call(true)); // [object Boolean]

判断自定义对象

  • 代码
function Dog(name) {
    this.name = name;
}

function Cat(name) {
    this.name = name;
}

function Person(name) {
    this.name = name;
}
let p = new Person("person");
let c = new Cat("cat");
let d = new Dog("dog");
  • 利用对象的构造函数的 name 属性来判断对象类型
console.log(p.constructor.name); // Person
console.log(c.constructor.name); // Cat
console.log(d.constructor.name); // Dog
  • 利用 instanceof 运算符
console.log(p instanceof Person); // true
console.log(c instanceof Person); // false
console.log(d instanceof Person); // false

console.log(p instanceof Object); // true
console.log(d instanceof Object); // true
console.log(c instanceof Object); // true

相关文章

网友评论

      本文标题:判断内置对象

      本文链接:https://www.haomeiwen.com/subject/irlmictx.html