Are objects values?
tj.crowder at farsightsoftware.com
Sat Aug 19 17:34:45 UTC 2017
I recently had an exchange which started out with my "correcting" someone
who said "Functions are values" by saying "Function *references* are
values. Functions are objects." He/she replied that objects are also
> An ECMAScript *language type* corresponds to values that are directly
manipulated by an ECMAScript programmer using the ECMAScript language. The
ECMAScript language types are Undefined, Null, Boolean, String, Symbol,
Number, and Object. An *ECMAScript language value* is a value that is
characterized by an ECMAScript language type.
...and said "So objects are values."
Is he/she right? [Wikpedia] isn't much help, at least not to me. I asked
a friend who, unlike me, did get comp sci theory at Uni, and he said
"...you're not wrong, but it's very Humpty Dumpty: When I use a word, it
means just what I choose it to mean -- neither more nor less."
I've used the term "value" in explanations of variables, properties, and
function arguments and in particular when explaining why `b = a` copies an
object reference, not an object, from `a` to `b`. (Saying the *object
reference* is the value.) It's been an invaluable aid to helping people
"get" object references.
I'd be very sorry to hear that I was misusing a term of art. But I'd rather
If I'm misusing "value," what should I use instead for that thing that
actually gets stored in memory? How to explain the `b = a` thing with
object references to beginners?
This is slightly off-topic for the thread, but also not, as I spend a lot
text being used to tell me I'm wrong are on this list. :-)
-- T.J. Crowder
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss