🈯const
- JS ⟩ declaration ⟩ variable ⟩ const 
(declaration) declares a local constant in block scope.
const
- must have an initial value❗ (👉 more) 
- can't be reassigned❗ (👉 more) 
- can't be redeclared❗ 
⛔ ReferenceError: cannot access '...' before initialization.
- caused by referencing a let/ const/ class in its temporal dead zone❗ 
using typeof on lexical declaration (let/ const/ class) in its temporal dead zone will throw a ReferenceError.
// ⭐ temporal dead zone (start)
// ------------------------------
typeof aLet;       // ⛔ ReferenceError: Cannot access 'aLet' before initialization
typeof aConst;     // ⛔ ReferenceError: Cannot access 'aConst' before initialization
typeof aClass;     // ⛔ ReferenceError: Cannot access 'aClass' before initialization
typeof undeclared;        // ❗ 'undefined'
// ⭐ lexical declarations (let/const/class)
// --------------------------------------------
let aLet;                 // ⭐ initialized to `undefined`
const aConst = "hello";
class aClass {}- replit:TDZ: let/const/class 
const
- is a reserved word❗ 
- must be initialized at declaration. 👉 const requires initialization 
- can't be reassigned. 👉 const can't reassign 
- can't be redeclared. 
const
- can't be used with a classic for-loop. 
Last updated
Was this helpful?