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 中没有直接的 getClass() 方法来获取对象的类名,因此我们可以使用多个选项来解决此问题。
日期:2020-06-02 22:16:18 来源:oir作者:oir