面试之Object的一些方法

Object.defineProperty(obj,property,descriptor{value:,enumerable:,writable...})使用descriptor定义obj的属性值

Object.keys(obj)返回obj中可枚举的属性,如果Object.defineProperty的descriptor没有enumerable:true,那么Object.keys得不到这个属性

如果以obj.key = value这种方式定义,默认是可枚举的,Object.keys可以得到,以字面量形式定义的对象属性默认的descriptor都是true

Object.getOwnProperty返回所有自身所有属性名称,不管是不是可枚举的;

for in 循环的是所有的属性包括继承自原型链的;

writable : true      // 属性值可修改
enumerable : true    // 属性可枚举
configurable : true  // 属性可重新配置

原文地址:https://www.cnblogs.com/OnceKing1996/p/13596007.html