let, async, await as variable
Krshn

Krshn @krshna

Joined:
Feb 8, 2018

let, async, await as variable

Publish Date: Feb 1 '19
6 2

if i assign let some other value, how interpreter still understand its original use.

Comments 2 total

  • James Allen
    James AllenFeb 2, 2019

    Top result from googling "var javascript block scope":

    The var keyword behaves differently in function scopes and block scopes. A variable declared with var in a function scope can't be accessed outside that function scope. A variable declared with var in a block scope is available outside of that block scope.

    Your let b = ... is within the if (...) { ... } block and is destroyed when leaving the block. The var a = ... will live outside the block.

    As for the let = ..., async = ... and await = ... assignments, all three of those are being assigned as variables because or your beginning var ... syntax. It wouldn't be good to make variables with these names anyway and your console highlighting them is evidence of this bad practice (IMHO you should be prevented from creating those variables as those names should be reserved, but that could break compatibility between versions.)

  • Scott Hardy
    Scott HardyFeb 2, 2019

    The best practice is to pick either var or let, const. Mixing var, let and const together can lead to unexpected behavior.

    var is function scoped, let, const are block scoped.

Add comment