Path: csiph.com!aioe.org!news.mb-net.net!open-news-network.org!.POSTED.234.232.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: comp.lang.javascript Subject: Re: Identifying special values Date: Wed, 20 Sep 2017 00:16:19 +0200 Organization: PointedEars Software (PES) Lines: 55 Message-ID: <1748304.vQVZLEDEe7@PointedEars.de> References: Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit Injection-Info: gwaiyur.mb-net.net; posting-host="234.232.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch:178.197.232.234"; logging-data="3090"; mail-complaints-to="abuse@open-news-network.org" User-Agent: KNode/4.14.2 X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. |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.) ________ ¹ (tested in Chromium 57.0.2987.98 on Debian/Devuan GNU/Linux) ² -- PointedEars FAQ: | | Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.