对象,类与面向对象编程

5 阅读1分钟
  1. 对象的属性

1.1数据属性:

[[Configurable]]:表示属性是否可以通过 delete 删除并重新定义,默认为true

[Enumerable]]:表示属性是否可以通过 for-in 循环返回,默认为true

[[Writable]]:表示属性的值是否可以被修改,默认为true

[[Value]]:包含属性实际的值 

注:[[Configurable]]设置为false后,就不能再修改为true

1.2  访问器属性:

[[Configurable]]:表示属性是否可以通过 delete 删除并重新定义,默认为true

[Enumerable]]:表示属性是否可以通过 for-in 循环返回,默认为true

[[Get]]:获取函数,在读取属性时调用。默认值为 undefined

[[Set]]:设置函数,在写入属性时调用。默认值为 undefined 

1.3  Object.defineProperty(object, attr, 数据属性/访问器属性)

1.4  Object.defineProperties(object, {attr1:{writable:true,value:1},{attr2:{get: fn,set:fn}}})

1.5      Object.getOwnPropertyDescriptor()方法可以取得指定属性的属性描述符 

1.6  Object.getOwnPropertyDescriptors()返回一个新对象包含所有自有属性的属性描述符

1.7  Object.assign,接收一个目标对象和一个多个源对象作为参数,返回目标对象,对每个源对象执行的是浅复制

1.8  Object.is(para1,para2),与===很像