我尝试解决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
您可以使用
isPrototypeOf
来避免显式循环。
return !!classFunction?.prototype && obj != null &&
(classFunction.prototype == Object.getPrototypeOf(obj) ||
classFunction.prototype.isPrototypeOf(Object.getPrototypeOf(obj)));