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;
  • Phen@lemmy.eco.br
    link
    fedilink
    arrow-up
    0
    ·
    11 months ago

    Last one can be freely changed by anyone, the middle one still has some restraints.

    • andrew@lemmy.stuart.fun
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      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.

        • andrew@lemmy.stuart.fun
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          11 months ago
          var a;
          (function() {
            a='hoisted';
            console.log(a);
            var a;
          })()
          console.log(a);
          

          Should log hoisted and then undefined, showing that you’ve assigned to the later-declared var a which was hoisted vs the external global a.