Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #27947

Re: Expression for the global object

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.javascript
Subject Re: Expression for the global object
Date 2015-05-31 16:41 +0100
Organization A noiseless patient Spider
Message-ID <87lhg4hhzz.fsf@bsb.me.uk> (permalink)
References (3 earlier) <5452925.Zt9fTqAOub@PointedEars.de> <87382cj1f5.fsf@bsb.me.uk> <7546503.qSl4iIXIz1@PointedEars.de> <87wpzohk1k.fsf@bsb.me.uk> <1658801.5VaNTTmUhE@PointedEars.de>

Show all headers | View raw


Thomas 'PointedEars' Lahn <PointedEars@web.de> writes:

> Ben Bacarisse wrote:
>
>> Given:
>> 
>>   'use strict';
>>   console.log((function () { return eval; })()("this") === global);
>>   console.log(eval("this") === global);
>>   console.log(this === global);
>> 
>> nodejs prints:
>> 
>>   NaN
>>   undefined
>>   undefined
>
> No, it does not.  Because Node.js’s V8 JavaScript is not so badly designed 
> that it would print “NaN” or “undefined” as the result of a “===”
> operation.

I edited the code to be more explicit[1] and obviously forgot to edit the
output.  It's

  true
  false
  false

>> […]
>>> <http://ecma-international.org/ecma-262/5.1/#sec-10.4.2>
>> 
>> Sure, but what does 15.1.2.1.1 (Direct Call to Eval) have to say about
>> it? You can interpret the words there much more readily than I can, and
>> it would seem that at least one implementation has decided that the
>> evaluation of the thunk above is not a "direct call to eval".
>
> We’ll see.

What do you mean by that?

[1] The original code showed access to, NaN, a property of the global
object:

  'use strict';
  console.log((function () { return eval; })()("this").NaN);
  console.log(eval("this").NaN);
  console.log(this.NaN);

-- 
Ben.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Expression for the global object Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 11:14 +0100
  Re: Expression for the global object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-31 15:08 +0200
    Re: Expression for the global object Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 14:56 +0100
      Re: Expression for the global object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-31 16:12 +0200
        Re: Expression for the global object Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 15:57 +0100
          Re: Expression for the global object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-31 17:33 +0200
            Re: Expression for the global object Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-05-31 16:41 +0100
      Re: Expression for the global object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-31 16:21 +0200

csiph-web