不常用但重要的js方法

Object.defineProperties()

功能:方法直接在一个对象上定义一个或多个新的属性或修改现有属性,并返回该对象。
语法: Object.defineProperties(obj, props)
obj: 将要被添加属性或修改属性的对象
props: 该对象的一个或多个键值对定义了将要为对象添加或修改的属性的具体配置

Object.defineProperty()

功能: 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。如果不指定configurable, writable, enumerable ,则这些属性默认值为false,如果不指定value, get, set,则这些属性默认值为undefined

语法: Object.defineProperty(obj, prop, descriptor)
obj: 需要被操作的目标对象
prop: 目标对象需要定义或修改的属性的名称
descriptor: 将被定义或修改的属性的描述符

Object.hasOwnProperty()

功能:判断属性是否为对象的自身属性(不包括继承属性)
所有继承了 Object的对象都会继承到 hasOwnProperty方法。这个方法可以用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。

即使属性的值是 nullundefined,只要属性存在,hasOwnProperty 依旧会返回 true

Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。

功能:方法里面为一个对象则返回创建这个对象的函数的原型,如果为一个函数或者类,则返回的是Function这个构造函数的原型。

你可能感兴趣的:(不常用但重要的js方法)