We can categorize Javascript data types in different ways.
Category I
Numbers, strings, booleans, null, undefined
Everything other than the above, including regular object and special kinds of object (Array, Function, Date, RegExp, Error)
Category II
Objects, numbers, strings and boolean (numbers, strings and booleans behave as if they had methods)
null and undefined
Category III
Numbers, boolean, null, undefined,
strings (different from Ruby, in which string is mutable)
Objects and arrays