Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Identifying special values

13 views
Skip to first unread message

Thomas 'PointedEars' Lahn

unread,
Sep 19, 2017, 6:16:31 PM9/19/17
to
Stefan Ram wrote:

> |0 Test:
> |
> |if(variable === 0 && typeof variable === "number")
>
> Is there any value in keeping these notes?

Regarding *this* note, I do not think so. “===” explicitly does _not_ do
type conversion:

var variable = {valueOf: function () { return 0; }};

/* true */
variable == 0;

/* false */
variable === 0;

It is possible that you had changed “==” to “===” and kept the previously
useful “typeof” test.

You should insert a space after “if”, though, to avoid the appearance of a
function call.

> The tests seem to be too complicated!

ACK.

> (Assuming no one has redefined the value of »undefined«,
> otherwise we could use »void 0«.)

ACK. It should be noted that, while in newer implementations assignment to
the “undefined” property of the global object has no effect in non-strict
mode and throws a TypeError in strict mode (because it is read-only)¹, it is
still possible to have a variable (in both modes) or user-defined property
(in non-strict mode, using the “with” statement) in the scope chain –

var undefined = 23;

− because “undefined” is _not_ a reserved word². (I think this should be
fixed at least for strict mode.)

________
¹ <http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.1>
<http://www.ecma-international.org/ecma-262/5.1/#sec-11.13.1>
<http://www.ecma-international.org/ecma-262/8.0/#sec-undefined>
<http://www.ecma-international.org/ecma-262/8.0/#sec-assignment-operators-runtime-semantics-evaluation>
(tested in Chromium 57.0.2987.98 on Debian/Devuan GNU/Linux)
² <http://www.ecma-international.org/ecma-262/5.1/#sec-7.6.1>
<http://www.ecma-international.org/ecma-262/8.0/#sec-reserved-words>
--
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
0 new messages