使用原型来检查对象是否是类的实例

问题描述 投票:0回答:1

我尝试解决LeetCode“https://leetcode.com/problems/check-if-object-instance-of-class/description/”中的2618s问题,并想知道是否有一种方法可以仅使用来解决它像prototype、proto和constructor这样的属性,没有while循环和instanceof?请帮忙。

我尝试了很多例子,但没有任何效果

  return obj.constructor.prototype === classFunction.prototype

 if (classFunction === Number || classFunction === String || classFunction === Date) {
        return obj.__proto__ === classFunction.prototype
    } else return obj.__proto__.constructor.__proto__.prototype === classFunction.prototype
javascript prototype
1个回答
0
投票

您可以使用

isPrototypeOf
来避免显式循环。

return !!classFunction?.prototype && obj != null && 
    (classFunction.prototype == Object.getPrototypeOf(obj) ||
        classFunction.prototype.isPrototypeOf(Object.getPrototypeOf(obj)));
© www.soinside.com 2019 - 2024. All rights reserved.