Open utterances-bot opened 2 years ago
Fantastic resource. Thank you for putting in the effort. Just wanted to point out some of the typos I noticed here (correct me if I am wrong) since I couldn't find a corresponding repo.
Object.assign(target, src1, src2)
instead of
Object.assign(target, src1, src1)
https://blog.isquaredsoftware.com/presentations/2019-05-js-for-java-devs/#/48
instead of
https://blog.isquaredsoftware.com/persentations/2019-05-js-for-java-devs/#/48
The error is in the mis-spellling of "presentations" as "persentations".
Apart from that amazing read. Thank You!
Thanks for pointing these out!
Hey, Mark! Awesome content! I'm gonna start recommending this as a starting point for folks who are jumping from any language to JS. :tada:
However, there's something around scope
that confused me a bit:
let
andconst
are block-scoped - they only exist within the curly braces block where they're declared, and the same variable name can be reused and shadowed inside of nested blocks.var
is function-scoped - no matter where it's used, the declaration is hoisted to act as if it was written on the first line of the function it's inside, and reusing the same name will override the earlier declaration.
Indeed, let
and const
"can be reused and shadowed inside of nested blocks", but also var
can (when the nested blocks are functions)! Instead, it kinda sounds as if anytime you use the same name for a var
-declared variable it will override any previous. Counter-example:
var x = 0
;(function() { var x = 3 })()
console.log(x)
Might just be me, though, but I think that stating that any variable declarator
can shadow each other in nested scope-bounding-blocks but that, within the same scope-bounding-block, only var
allows "multiple declarations" (explaining that scope-bounding-blocks means any block for const
and let
and only functions for var
) makes the point clearer.
Anyway, thanks for your work!
The link to Immer is broken. Thank you for all of this by the way : )
How Web Apps Work: JavaScript and the DOM · Mark's Dev Blog
https://blog.isquaredsoftware.com/2020/11/how-web-apps-work-javascript-dom/