Hacker News new | ask | show | jobs
by maga 1504 days ago
That's why we introduced the strict mode ("use strict" pragma)[1]. Among other things, it prevents from accidentally declaring a global variable this way, throwing a ReferenceError.

Actually, at this point, with the prolifiration of strict mode and linters, I'd say that these old gotchas mostly belong to quizzes and spec discussions, since personally I have not seen new code written this way even in vanilla JS for years by now.

[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

1 comments

I'm pretty sure I've seen something similar to let a = b = 0 in the last couple months, without strict mode and it evidently hadn't been linted away.

Maybe it wasn't 'new' code but it was new enough to use let.

on edit: actually considering the project I would think it was written somewhere within the last 2 years.

You might be thinking of:

  let a = 0, b = 0
I should apologize, my normal way of writing made it seem like I wasn't sure about having seen it but I was sure, I often use phrases that imply inexact information (for example: I guess) when what I mean oh yeah, I am sure about this thing.
no It was definitely a = b = somethingelse structure, because I hate that structure.