minus-squareangel@iusearchlinux.fyitoProgrammer Humor@lemmy.ml•Pure EvillinkfedilinkEnglisharrow-up17arrow-down1·edit-21 year agoAutomatic 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”. linkfedilink
minus-squareangel@iusearchlinux.fyitoProgrammer Humor@lemmy.ml•bad gatewaylinkfedilinkarrow-up3·1 year agonginx 0.7 😵 linkfedilink
minus-squareangel@iusearchlinux.fyitoProgrammer Humor@lemmy.ml•Lemmy devs approaching the reddit API deadline likelinkfedilinkEnglisharrow-up1·1 year agoThe dev of the Thunder app is insane. New releases three times a week, with a lot of new features each time. linkfedilink
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”.