instanceof

instanceof 运算符用于检查构造函数的原型属性是否出现在对象原型链中的任何位置。

使用构造函数的 name 属性来获取类的名称:

function Func() {}
let func = new Func();
console.log(Func.prototype.isPrototypeOf(func)); //== true
console.log(func instanceof Func); //== true
console.log(func.constructor.name); //== "Func"
console.log(Func.name); //== "Func"

JavaScript 对象

Object 类代表 JavaScript 中的一种数据类型。
它用于存储各种键控集合和复杂实体。
JavaScript 中几乎所有的对象都是 Object 的实例;典型的对象从 Object.prototype 继承属性(以及方法),尽管它们可能会被覆盖。

isPrototypeOf

isPrototypeOf() 方法用于检查一个对象是否存在于另一个对象的原型链中:

function Func() {}
let func = new Func();
console.log(Func.prototype.isPrototypeOf(func)); //== true

typeof

typeof 运算符返回一个字符串,指示未计算的操作数的类型:

function Func() {}
let func = new Func();
typeof Func; //== "function"
typeof fonc; //== "object"
console.log(typeof Func);
console.log(typeof func);

prototype

我们可以使用原型属性prototype 来获取对象类的名称:

function Func() {}
let func = new Func();
Func.prototype.bar = function (x) {
  return x + x;
};
console.log(func.bar(11)); //== 22
JavaScript如何获取对象的类名

由于 JavaScript 中没有直接的 getClass() 方法来获取对象的类名,因此我们可以使用多个选项来解决此问题。

日期:2020-06-02 22:16:18 来源:oir作者:oir