JS 对象(Object)的深入解析—原型属性

如题所述

第1个回答  2022-06-11

上篇文章 JS 对象(Object)的深入解析—私有属性 介绍了对象的私有属性,这篇文章主要讲下对象的原型链属性,这些属性是每个对象都可以访问调用的,好了,废话不多说,开始进入主题。

该原型属性指向Object对象本身

该方法可以用来判断是否是对象的私有属性,如果是则返回true,否则返回false。for...in 遍历私有和原型属性,通过hasOwnProperty和in方法可以判断某个属性是否是原型属性

prototypeObj.isPrototypeOf(object)
检测prototypeObj这个对象是是否在object对象的原型链上。

obj.propertyIsEnumerable(prop)
测试对象的某个属性是否可枚举,返回Boolean。
注意
每个对象都有一个 propertyIsEnumerable 方法。此方法可以确定对象中指定的属性是否可以被 for...in 循环枚举,但是通过 的属性除外。如果对象没有指定的属性,则此方法返回 false 。

比较
数组转化相同

时间转化不同

数字转化不同

valueOf()方法返回对象的原始值。
注意
JavaScript调用valueOf方法将对象转换为原始值。你很少需要自己调用valueOf方法;当遇到要预期的原始值的对象时,JavaScript会自动调用它。

valueOf()重写

相似回答