Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #34331
| 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> |
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
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