Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #33998
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Identifying special values |
| Date | 2017-09-20 00:16 +0200 |
| Organization | PointedEars Software (PES) |
| Message-ID | <1748304.vQVZLEDEe7@PointedEars.de> (permalink) |
| References | <values-20170919212134@ram.dialup.fu-berlin.de> |
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.
Back to comp.lang.javascript | Previous | Next | Find similar | Unroll thread
Re: Identifying special values Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-20 00:16 +0200
csiph-web