"An object is a member of Object" 在 ES2017 规范中

"An object is a member of Object" in ES2017 Specs

谁能帮忙解释一下ES2017 Language Specs中的"An object is a member of Object"?这句话多次出现在规范中。例如,在第 4.2 章 ECMAScript 概述

Properties are containers that hold other objects, primitive values, or functions. A primitive value is a member of one of the following built-in types: Undefined, Null, Boolean, Number, String, and Symbol; an object is a member of the built-in type Object; and a function is a callable object. A function that is associated with an object via a property is called a method.

这是一个规范。它定义了这些东西,并声明 EcmaScript 使用不同的 types, "sets of data values" 如果你愿意的话。然后它继续定义

  • 我们将其中一种类型称为 Object 类型(注意大写 O - 它总是在引用类型时使用,而不是普通项 "object" 或 Object 构造函数)
  • 我们称这种特定类型的成员为对象

Javascript 是一种由对象组成的语言。 object({}) 不是唯一的对象类型。数组、函数、映射都是 类型的 对象,除了规范中提到的原语都是对象类型。术语

an object is a member of the built-in type Object

表示常规对象 ({}) 是内置类型 Object 的基元的一部分(注意大写和小写的区别)。你可以继续说

function 是内置类型 Object 的成员, 数组是等等的一部分..