上QQ阅读APP看书,第一时间看更新
6.9 小结
JavaScript中的对象是引用值,可以通过几种内置引用类型创建特定类型的对象。
❑ 引用类型与传统面向对象编程语言中的类相似,但实现不同。
❑ Object类型是一个基础类型,所有引用类型都从它继承了基本的行为。
❑ Array类型表示一组有序的值,并提供了操作和转换值的能力。
❑ 定型数组包含一套不同的引用类型,用于管理数值在内存中的类型。
❑ Date类型提供了关于日期和时间的信息,包括当前日期和时间以及计算。
❑ RegExp类型是ECMAScript支持的正则表达式的接口,提供了大多数基本正则表达式以及一些高级正则表达式的能力。
JavaScript比较独特的一点是,函数其实是Function类型的实例,这意味着函数也是对象。由于函数是对象,因此也就具有能够增强自身行为的方法。
因为原始值包装类型的存在,所以JavaScript中的原始值可以拥有类似对象的行为。有3种原始值包装类型:Boolean、Number和String。它们都具有如下特点。
❑ 每种包装类型都映射到同名的原始类型。
❑ 在以读模式访问原始值时,后台会实例化一个原始值包装对象,通过这个对象可以操作数据。
❑ 涉及原始值的语句只要一执行完毕,包装对象就会立即销毁。
JavaScript还有两个在一开始执行代码时就存在的内置对象:Global和Math。其中,Global对象在大多数ECMAScript实现中无法直接访问。不过浏览器将Global实现为window对象。所有全局变量和函数都是Global对象的属性。Math对象包含辅助完成复杂数学计算的属性和方法。
ECMAScript 6新增了一批引用类型:Map、WeakMap、Set和WeakSet。这些类型为组织应用程序数据和简化内存管理提供了新能力。