[js] 第232天 举例说明constructor和instanceof的区别是什么?
haizhilin2013 opened this issue · 3 comments
haizhilin2013 commented
第232天 举例说明constructor和instanceof的区别是什么?
wheatup commented
constructor
是object
的属性之一,instanceof
是运算符constructor
的结果是方法,instanceof
的结果是布尔值constructor
获取的是原型链的最顶层,instanceof
可以判断是否属于原型链的任意一层
mohaixiao commented
我的答案
-
简述constructor和instanceof
constructor是除了空对象都拥有的属性,该属性指向的是对象的构造函数。
instanceof是一个操作符,用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。 -
他们的区别
结果值:constructor的值是一个函数,instanceof的结果值是一个布尔值。
检测范围:constructor可以检测某个函数是否是一个对象的构造函数。instanceof 可以检测实例对象整条原型链的任意一层。
检测本质:constructor属性值是可以修改的,使用instanceof检测时不会因为constructor的改变而受到影响。
xiaoqiangz commented
constructor 是返回实例的构造函数, instanceof是操作符,用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
constructor是一个函数,instanceof返回的是一个布尔值。
constructor 获取的原型链的最顶层,instanceof可以是原型链中的任意层。