cross-posted from: https://lemmy.world/post/10094818
spoiler
Gender variability as declarations in JavaScript: const / let / var
Meme is based on Jordan Peterson “approival / disapproval” format, him being a conservative who disapproves of gender fluidity.
Transcript:
- Jordan Peterson approval image: const gender;
- Jordan Peterson angry image: let gender;
- Jordan Peterson crying image: var gender;
Joke’s on you because they’re all still mutable objects behind the reference.
Last one can be freely changed by anyone, the middle one still has some restraints.
var
isn’t global unless it’s not inside a function.var
is just function scoped, with declaration auto hoisted to the beginning of the function.let
is a little more intuitive since you can’t refer to it before it’s been declared and has block scope rather than function scope.Wait… you can use a variable before you declare it?
var a; (function() { a='hoisted'; console.log(a); var a; })() console.log(a);
Should log
hoisted
and thenundefined
, showing that you’ve assigned to the later-declaredvar a
which was hoisted vs the external globala
.typescript:
const as const (readonly)
‘pretty please dont mutate it’// @ts-ignore