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


Groups > comp.lang.javascript > #27880

Re: Why does (a,b,c) return only c?

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: Why does (a,b,c) return only c?
Date 2015-05-26 12:26 +0200
Organization PointedEars Software (PES)
Message-ID <1687513.QYX3roR0lP@PointedEars.de> (permalink)
References <55630af5$0$13000$c3e8da3$5496439d@news.astraweb.com> <gf4c3c-iks.ln1@mail.binaryfoundry.ca> <XnsA4A5DF4D39BAAeejj99@194.109.133.246> <mk07ei$t55$1@speranza.aioe.org>

Show all headers | View raw


Joao Rodrigues wrote:

> But why on Earth would someone use comma operators? Because they let you
> specify more than one expression where JavaScript expects only one. See
> examples at:
> <https://javascriptweblog.wordpress.com/2011/04/04/the-javascript-comma-operator/>

Bogus.

| //original
| var a = 7, 5;
| //apply = operator
| var a, 5; //a is now 7
| //SyntaxError: missing variable name 

is not a syntax error because “we [haven’t] wrapped the variable assignment 
in parentheses”, but because _“5” is not a valid variable name_.

And the value of “a” is not 7, but _not defined_ at this line (that is 
different from the “undefined” value), because

  var a = 7, 5;

is a syntax error already:

| >>> var a = 7, 5;
| Uncaught SyntaxError: Unexpected number
|   at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
|   at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
|   at Object.InjectedScript.evaluate (<anonymous>:694:21)

The subsequent example in that article, where it works, is

| //original
| var a = (7, 5);
| //apply group
| var a = 5;

where not only the parentheses have been inserted, but magically the comma 
has been replaced by a “=”.  Surprise.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix>
Please do not cc me. / Bitte keine Kopien per E-Mail.

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


Thread

Why does (a,b,c) return only c? Steven D'Aprano <steve@pearwood.info> - 2015-05-25 21:43 +1000
  Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-25 14:17 +0200
    Re: Why does (a,b,c) return only c? Luuk <luuk@invalid.lan> - 2015-05-25 14:42 +0200
      Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-25 14:58 +0200
    Re: Why does (a,b,c) return only c? "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-25 14:57 +0200
      Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-25 15:07 +0200
        Re: Why does (a,b,c) return only c? "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-25 15:32 +0200
          Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-25 17:50 +0200
        Re: Why does (a,b,c) return only c? Luuk <luuk@invalid.lan> - 2015-05-25 19:53 +0200
          Re: Why does (a,b,c) return only c? "D. Aaron Sawyer" <aaron@110.net> - 2015-05-25 19:49 -0300
  Re: Why does (a,b,c) return only c? John-Paul Stewart <jpstewart@sympatico.ca> - 2015-05-25 13:58 -0400
    Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-25 21:57 +0200
      Re: Why does (a,b,c) return only c? Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-25 19:24 -0300
        Re: Why does (a,b,c) return only c? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-26 12:26 +0200
          Re: Why does (a,b,c) return only c? Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-26 09:36 -0300
            Re: Why does (a,b,c) return only c? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-26 14:42 +0200
              Re: Why does (a,b,c) return only c? Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-26 09:53 -0300
                Re: Why does (a,b,c) return only c? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-26 15:15 +0200
                Re: Why does (a,b,c) return only c? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-05-26 15:17 +0200
          Re: Why does (a,b,c) return only c? Scott Sauyet <scott.sauyet@gmail.com> - 2015-05-26 08:59 -0700

csiph-web