I understand why var
takes that name - it is variable, const
- it is a constant, but what is the meaning behind the name for let
, which scopes to the current block? Let it be?
let allows you to declare variables that are limited to the scope of a block statement, or expression on which it is used, unlike the var keyword, which declares a variable globally, or locally to an entire function regardless of block scope.
Block scoped variables: A block scoped variable means that the variable defined within a block will not be accessible from outside the block. A block can reside inside a function, and a block scoped variable will not be available outside the block even if the block is inside a function.
let is block-scoped Hence when you try to access b outside of if block, an error occurs (as shown above in the program). Note: The variables declared inside a function will be function scoped for both var and let .
Block Scope ES6 introduced two important new JavaScript keywords: let and const . These two keywords provide Block Scope in JavaScript.
Let is a mathematical statement that was adopted by early programming languages like Scheme and Basic. Variables are considered low level entities not suitable for higher levels of abstraction, thus the desire of many language designers to introduce similar but more powerful concepts like in Clojure, F#, Scala, where let
might mean a value, or a variable that can be assigned, but not changed, which in turn lets the compiler catch more programming errors and optimize code better.
JavaScript has had var
from the beginning, so they just needed another keyword, and just borrowed from dozens of other languages that use let
already as a traditional keyword as close to var
as possible, although in JavaScript let
creates block scope local variable instead.
I guess it follows mathematical tradition. In mathematics, it is often said "let x be arbitrary real number" or like that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With