面向对象的程序设计(一)--理解对象(数据属性和访问器属性)

对象:无序属性的集合,其属性可以包含基本值、对象或者函数。

下述为对象的两种写法:

我们可以把对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数

每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型(Object、Array和Date等),也可以是开发人员自定义的类型(即function)

-->因为ECMAScript中没有类的概念,因此它的对象也于基于类的语言中的对象有所不同。(所以上述的原生类型和自定义类型我们可以想象它就是类(即class))


ECMAScript中有两种属性:数据属性访问器属性

==》数据属性:

[[Configurable]]  [[Enumerable]]  [[Writable]]  [[Value]]

要修改属性默认的特性,必须使用Object.defineProperty()方法。

Object.defineProperty()方法接收三个参数:属性所在的对象、属性的名字和一个描述符对象。

==>访问器属性:

[[Configurable]]  [[Enumerable]]  [[Get]]  [[Set]]

同上,访问器属性不能直接定义,必须使用Object.defineProperty()来定义。

只指定getter以为这属性是不能写,同样没有指定setter函数的属性也不能读

_year前面的下划线是一种常用的符号,用于表示只能通过对象方法访问的属性!!!

_defineGetter()和_defineSetter()

==》定义多个属性(Object.defineProperties())

==》读取属性的特性(Object.getOwnPropertyDescriptor()):

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容