this post was submitted on 15 Sep 2023
122 points (71.8% liked)

Programmer Humor

32580 readers
1097 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 42 points 1 year ago (3 children)

Wouldn't the IDE pointed it out?

[–] [email protected] 17 points 1 year ago (3 children)

Yes.

Besides, Javascript doesn't need semicolon since 2016.

[–] [email protected] 32 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 7 points 1 year ago (1 children)

Wait, did you just made a meme of my comment?

Awesome!

[–] [email protected] 4 points 1 year ago

Glad you take it like a champ :)

[–] [email protected] 18 points 1 year ago* (last edited 1 year ago) (2 children)

Automatic Semicolon Insertion (ASI) has (sadly) been a part of JavaScript longer than 2016. I'm not sure exactly when it was introduced, but this document from 2009 already contains it: https://web.archive.org/web/20120418215856/https://ecma262-5.com/ELS5_Section_7.htm#Section_7.9

IMO it's bad practice to rely on ASI since the semicolons may not get inserted where you expected them to. The following snippet

const x = 0
const y = x
[1, 2, 3].forEach(console.log) 

is interpreted as

const x = 0;
const y = x[1, 2, 3].forEach(console.log);

which raises a TypeError.

There are more examples of ASI not doing the right thing on the web, so I don't agree with "Javascript doesn't need semicolon".

[–] [email protected] 6 points 1 year ago

As Mark Twain said, “Never discuss politics, semicolons, tabs, or religion in polite company.”

[–] [email protected] 2 points 1 year ago

Use an autoformatter for all code (both in the editor on save/type and as CI check).

There is no problem anymore.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

[This comment has been deleted by an automated system]

[–] [email protected] 7 points 1 year ago

Only someone who is really into mental torture would not use a linter.

[–] [email protected] 1 points 1 year ago

Obviously, you patch the IDE so it doesn't