realitista@lemmy.world to Programmer Humor@lemmy.ml · 1 年前Pure Evillemmy.worldimagemessage-square14fedilinkarrow-up1201arrow-down179cross-posted to: [email protected]
arrow-up1122arrow-down1imagePure Evillemmy.worldrealitista@lemmy.world to Programmer Humor@lemmy.ml · 1 年前message-square14fedilinkcross-posted to: [email protected]
minus-squareangel@iusearchlinux.fyilinkfedilinkEnglisharrow-up19arrow-down1·edit-21 年前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”.
minus-squarekinttach@lemm.eelinkfedilinkEnglisharrow-up6·1 年前As Mark Twain said, “Never discuss politics, semicolons, tabs, or religion in polite company.”
minus-squareflying_sheep@lemmy.mllinkfedilinkarrow-up2·1 年前Use an autoformatter for all code (both in the editor on save/type and as CI check). There is no problem anymore.
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”.
As Mark Twain said, “Never discuss politics, semicolons, tabs, or religion in polite company.”
Use an autoformatter for all code (both in the editor on save/type and as CI check).
There is no problem anymore.