J
John G Harris
You seem to have missed the point that it is not a matter of knowledge
but communication. The specs are written for *implementors*, not
programmers. That's why JS programmers don't refer to the language as
"ECMAScript" and rarely talk of syntax in terms of "productions".![]()
So you feel that it's wrong to say anything in this news group that
would not be understood by the people who write JQuery ?
An amazing number of programmers don't know what a statement is,
including some with PhDs. That's no reason for not using the word as
defined in the language specification.
There is no need for a term for such a general case (except perhaps
for implementors). Trying to use such a term in programming
discussions will only serve to confuse.
C++ manages to find a use for such a general case, but then it's a
language for real programmers.
Your definition can be thoroughly confusing at times :
1. Back in the days of ECMA 262 v2 you could have a program where
undefined was a variable in one browser and not a variable in another
(because it was pre-defined). This is confusing.
2. Even now in v3 you can write to undefined, so it now suddenly becomes
a variable (because it has now been implicitly declared). This is
confusing.
3. When someone uses My Library they access a thing called API. It's not
a variable according to you (because they didn't declare it). This is
also confusing.
John