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


Groups > comp.lang.javascript > #34331

Re: get average height in an object

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: get average height in an object
Date 2017-11-13 03:42 +0100
Organization PointedEars Software (PES)
Message-ID <2901334.aeNJFYEL58@PointedEars.de> (permalink)
References <d68354d4-3603-4201-9c12-a51977c9cf9b@googlegroups.com> <ou8vaq$1l44$1@gioia.aioe.org> <4335673.31r3eYUQgx@PointedEars.de> <ouavs3$199k$1@gioia.aioe.org>

Show all headers | View raw


Joao Rodrigues wrote:

> Thomas 'PointedEars' Lahn wrote:
>> Joao Rodrigues wrote:
>>> JRough wrote:
>>>> This seems like it should be easy enough but I don't get any error
>>>> messages in the console.  I used jslint and it objects to the
>>>> console.log lines
>>>
>>> This happens because "console" is a browser (and Node.js) feature.
>>> However, you may use the /*global*/ directive to "hide" the error in
>>> JSLint [1]. For instance:
>>>
>>> /*global console */
>> 
>> Too sweeping, unless we are talking about a dedicated debug library.
> 
> Useless remark since I wrote about a JSLint warning. It has nothing to
> do with libraries whatsoever. Don't miss the point.

*You* are missing the point.  If you annotate the code as such, then *all* 
uses of console.log() will be ignored.  This is potentially *detrimental*
to code quality.

>>> As a side note there are better JS linters such as ESLint and JSHint.
>> 
>> JSHint (which I prefer) will also warn about the undeclared use of
>> console.log().
> 
> Of course ESLint, JSHint and JSLint warn about undeclared use of
> 'console' and its methods. JS Linters 101.

That is simply untrue.  As I have showed, it depends on the configuration.

>>>> and it says it needs a semi colon after the data  object?
>>> Sure does. A semicolon is required in the end of a statement.
>> No, in general it is not.
> 
> Nonsense. If semicolons were really optional there would not be a thing
> called "Automatic Semicolon Insertion" (ASI) in the Specification, which
> states:

You have no clue what you are talking about.
 
> "§ 11.9 - Automatic Semicolon Insertion
> Certain ECMAScript statements (empty statement, let, const, import, and
> export declarations, variable statement, expression statement, debugger
> statement, continue statement, break statement, return statement, and
> throw statement) *must be terminated with semicolons*."
> 
> Notice the *must be terminated with semicolons* sentence.

This is a *specification* mechanism only.
 
> <http://www.ecma-international.org/ecma-262/6.0/#sec-automatic-semicolon-insertion>
> 
> Omitting semicolons does not mean they are optional in the Language.

Yes, it means exactly that.

> Look up the Standard and you will not find the term "optional" for
> semicolons.
> 
> ECMAScript Language Specification 101.

You have claimed that *source code* would _not_ *work* if it had no 
semicolons.  But because the *script engine* inserts them anyway
according to the *language specification*, the *source code* *does*
work.  Which you would have known if you had actually tried it out.
 
>>>> const data = {
>>>> "Matt" : {  "height" : 174, "weight": 69 },
>>>> "Jason" : { "height" : 190, "weight": 103 }
>>>> }
>>>
>>> It lacks a semicolon after the "}".
> 
> I was pointing out the position in the OP's source text where they
> reported the JSLint warning. So the comment above is valid in the
> context of the OP's question. You are missing the point.

Your claim was at least misleading.  It is _not_ the source code that 
requires an explicit semicolon there, but an error/warning-free *JSLint* 
parsing of that source code.  Big difference.

>>> You don't really need to check for data.hasOwnProperty(key) in this
>>> case, because data is a simple dictionary-like object [2].
>> 
>> Nonsense, and your source does not corroborate your claim.
>> 
>> The value of the “data” constant *variable* here is a reference to an
>> Object instance which inherits properties from the object referred to by
>> the initial value of Object.prototype
> 
> Prototypal inheritance is a known concept by everyone here.

Not to you, obviously.

> However, you have *intentionally* omitted the fact that the for...in loop
> statement iterates over enumerable properties of an Object,

The for-in loop is *irrelevant* to your claim about the object and
my counter-argument demonstrating that it is false.

> and that's precisely the point here: the hasOwnProperty method is
> irrelevant for iterating the Object referenced by the "data" constant
> because it hasn't got enumerable properties inherited from Object in the
> OP's example.

And that is simply wrong.  *You cannot know* what enumerable properties it 
has.  And it is certainly not a “dictionary-like object” if its prototype 
chain is not empty.

> Next time, read carefully the OP and subsequent answers before posting
> drivel.

FOAD.

-- 
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 — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

get average height in an object JRough <janis.rough@gmail.com> - 2017-11-11 14:57 -0800
  Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-12 06:04 -0200
    Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-12 06:49 -0200
    Re: get average height in an object John G Harris <niam@jghnorth.org.uk.invalid> - 2017-11-12 13:39 +0000
    Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-12 13:40 -0200
      Re: get average height in an object JRough <janis.rough@gmail.com> - 2017-11-13 12:06 -0800
      Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-15 13:14 -0200
        Re: get average height in an object "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-11-15 22:21 +0100
          Re: get average height in an object "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-11-15 22:57 +0100
            Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-16 02:46 -0200
              Re: get average height in an object "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-11-17 13:06 +0100
    Re: get average height in an object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-11-12 18:24 +0100
      Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-13 00:26 -0200
        Re: get average height in an object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-11-13 03:42 +0100
          Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-13 01:23 -0200
            Re: get average height in an object Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-11-13 14:16 +0100
              Re: get average height in an object Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2017-11-13 14:20 -0300
                Dictionary-like objects (was: get average height in an object) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-11-13 19:56 +0100
                Re: Dictionary-like objects Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2017-11-13 20:26 -0200
                Re: Dictionary-like objects Julio Di Egidio <julio@diegidio.name> - 2017-11-13 15:48 -0800
                Re: Dictionary-like objects Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-11-15 02:55 +0100
                Re: Dictionary-like objects Joao Rodrigues <groups_jr-1@yahoo.com> - 2017-11-15 12:30 -0200
                Re: Dictionary-like objects John G Harris <niam@jghnorth.org.uk.invalid> - 2017-11-15 15:59 +0000
        Re: get average height in an object JRough <janis.rough@gmail.com> - 2017-11-13 12:08 -0800
      Re: get average height in an object John G Harris <niam@jghnorth.org.uk.invalid> - 2017-11-13 10:17 +0000
      Re: get average height in an object JRough <janis.rough@gmail.com> - 2017-11-13 12:07 -0800
  Re: get average height in an object "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-11-12 11:00 +0100
    Re: get average height in an object "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-11-12 11:15 +0100
    Re: get average height in an object JRough <janis.rough@gmail.com> - 2017-11-13 12:28 -0800

csiph-web