¿Y qué dice el standard?

A primitive value is a member of one of the following built-in types: Undefined, Null, Boolean, Number, and String; an object is member of the remaining built-in type: Object; and a method is a function associated with an object via a property. — ECMAScript