āĻĒā§āϰāϤā§āϝā§āĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĄā§āĻā§āϞāĻĒāĻžāϰ āĻāĻāύāĻ āύāĻž āĻāĻāύāĻ āĻāĻāĻāĻž āĻŦāĻŋāϰāĻā§āϤāĻŋāĻāϰ āĻāϰā§āϰ āĻĢā§āϏ āĻāϰā§āĻā§āĨ¤ āϤāĻžāϰāĻĒāϰ āϏā§āĻā§āϝāĻžāĻ āĻāĻāĻžāϰāĻĢā§āϞā§āϤ⧠āϝā§ā§ā§ āĻĻā§āĻā§, āĻā§āύ āĻāĻ āĻŦāĻŋāĻā§āĻ āĻŦā§āϝāĻžāĻā§āϤāĻŋ āĻŦāϞāĻā§ āϝ⧠, āĻāĻĒāύāĻžāϰ āĻāϰā§āϰāĻāĻž āĻāϏāϞ⧠hoisting āĻāϰ āĻāĻžāϰāĻŖā§ āĻšāĻā§āĻā§āĨ¤ đ āĻāĻā§āĻāĻž, āϤāĻžāĻšāϞ⧠Hoisting āĻāĻŋ? (āĻāĻā§āĻ āĻŦāϞ⧠āϰāĻžāĻāĻāĻŋ, scope āύāĻŋā§ā§ āĻ āύā§āϝ āĻĒā§āϏā§āĻā§ āĻāϞāĻžāĻĒ āĻāϰāĻŦ, āĻāĻŽāĻŋ āĻĒā§āϏā§āĻ āĻā§āĻ āĻāϰ āĻĢā§āĻāĻžāϏāĻĄ āϰāĻžāĻāϤ⧠āĻĒāĻāύā§āĻĻ āĻāϰāĻŋ)
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āύāϤā§āύ āĻšā§ā§ āĻĨāĻžāĻā§āύ, āĻāĻĒāύāĻŋ āĻšā§āϤ āĻā§āĻĄā§āϰ āĻāĻŋāĻā§ âāĻ
āĻĻā§āĻā§āϤā§ā§ā§â āĻāĻāϰāύ āĻĻā§āĻā§āĻā§āύāĨ¤ āϝā§āĻŽāύ, āĻšā§āĻāĻšāĻžāĻ āĻā§āύ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ undefined
āĻšā§ā§ āĻā§āϞ, āĻ
āĻĨāĻŦāĻž āĻā§āĻĄ ReferenceError
āĻĨā§āϰ⧠āĻāϰāĻā§ āĻāϰāĻ āĻāύā§āĻ āĻāĻŋāĻā§āĨ¤ Hoisting āĻā§ āĻĒā§āϰāĻžā§āĻ āĻāĻāĻžāĻŦā§ āĻŦā§āϝāĻžāĻāĻž āĻāϰāĻž āĻšā§ āϝ⧠āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāύāĻā§ āĻĢāĻžāĻāϞā§āϰ āĻāĻĒā§ āĻāĻ āĻŋā§ā§ āĻāύāĻž āĻšāϞ āĻšāĻāϏā§āĻāĻŋāĻāĨ¤ āĻāĻŋāύā§āϤ⧠āύāĻžāĻš! āĻāĻŽāύāĻāĻž āĻāĻāĻā§ āύāĻž, āϝāĻĻāĻŋāĻ āĻāĻāϰāĻŖ āĻĻā§āĻā§ āĻāĻŽāύāĻāĻžāĻ āĻŽāύ⧠āĻšā§āĨ¤ đ
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āĻāĻŋāύ āϝāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻž āĻĒāĻžā§, āĻĒā§āϰāĻĨāĻŽ āϝ⧠āĻāĻžāĻāĻāĻž āϏ⧠āĻāϰ⧠āϤāĻž āĻšāϞ, āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻĄā§āϰ āĻĄāĻžāĻāĻžāϰ āĻāύā§āϝ āĻŽā§āĻŽāϰāĻŋ āϏā§āĻ āĻāϰ⧠āĨ¤ āĻāĻ āϏāĻŽā§āĻāĻžāϤ⧠āĻā§āύ āĻā§āĻĄāĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšā§ āύāĻžāĨ¤ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϏ⧠āĻļā§āϧ⧠āϏāĻŦāĻāĻŋāĻā§āĻā§ āĻĒā§āϰāĻŋāĻĒā§ā§āĻžāϰ āĻŦāĻž āϰā§āĻĄāĻŋ āĻāϰā§āĨ¤ āĻĢāĻžāĻāĻļāύ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰā§āĻļāύ āĻāϰ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻĻā§āĻāĻāĻž āĻāϞāĻžāĻĻāĻž āĻāĻĒāĻžā§ā§ āϏā§āĻā§āϰ āĻāϰ⧠āϰāĻžāĻāĻž āĻšā§āĨ¤ āĻĢāĻžāĻāĻļāύāĻā§āϞ⧠āϏā§āĻā§āϰ āĻāϰāĻžāϰ āϏāĻŽā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĢāĻžāĻāĻļāύā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻāĻŋā§ā§ āϏā§āĻā§āϰ āĻāϰāĻž āĻšā§āĨ¤
āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻŦāĻŋāώā§āĻāĻž āĻāĻāĻā§ āĻāϞāĻžāĻĻāĻžāĨ¤ ES6 āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĻā§āĻāĻāĻž āύāϤā§āύ keyword āύāĻŋā§ā§ āĻāϏā§āĻā§āĻ let
āĻāĻŦāĻ const
āĨ¤ āϝā§āĻā§āύ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§ āϝāĻĻāĻŋ let
 āĻ
āĻĨāĻŦāĻžÂ const
 keyword āĻĻāĻŋā§ā§ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻž āĻšā§, āϤāĻžāĻšāϞ⧠āϏā§āĻāĻž uninitialized āĻāĻžāĻŦā§ āϏā§āĻā§āϰ āĻšā§āĨ¤
var
āĻĻāĻŋā§ā§ āϝāĻĻāĻŋ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻž āĻšā§, āϤāĻžāĻšāϞ⧠āϏā§āĻā§āϰ āĻāϰāĻžāϰ āϏāĻŽā§ āĻĄāĻŋāĻĢāϞā§āĻ āĻā§āϝāĻžāϞ⧠āĻĨāĻžāĻā§ undefined
āĻāĻāύ āϝā§āĻšā§āϤ⧠creation phase āĻšā§ā§ āĻā§āĻā§, āĻāĻŦāĻžāϰ āĻā§āĻĄāĻāĻž āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāϞā§āύ āĻĻā§āĻāĻŋ, āĻĢāĻžāĻāϞā§āϰ āĻļā§āϰā§āϤā§āĻ āϝāĻĻāĻŋ āϤāĻŋāύāĻāĻž console.log()
āϏā§āĻā§āĻāĻŽā§āύā§āĻ āĻĨāĻžāĻā§(āĻŽāĻžāύ⧠āĻĢāĻžāĻāĻļāύ āĻŦāĻž āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻžāϰ āĻāĻā§āĻ) āϤāĻžāĻšāϞ⧠āĻāĻŋ āĻāĻā§āĨ¤
āϝā§āĻšā§āϤ⧠āĻĢāĻžāĻāĻļāύāĻā§āϞ⧠āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĢāĻžāĻāĻļāύ āĻā§āĻĄā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻāĻŋā§ā§ āϏā§āĻā§āϰ āĻšā§, āϏā§āĻšā§āϤ⧠āĻāĻŽāϰāĻž āϝā§āĻ āϞāĻžāĻāύ⧠āĻĢāĻžāĻāĻļāύāĻāĻž āĻā§āϰāĻŋā§ā§āĻ āĻāϰā§āĻāĻŋ āϤāĻžāϰ āĻāĻā§āĻ āĻāύāĻā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦ! đĨ
āϝāĻāύ āĻāĻŽāϰāĻž var
keyword āĻĻāĻŋā§ā§ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻž āĻāĻāĻāĻž āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§ āϤāĻžāĻĻā§āϰ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰā§āĻļāύā§āϰ āĻāĻā§āĻ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāϰāĻŋ, āϏ⧠āϤāĻžāϰ āĻĄāĻŋāĻĢāϞā§āĻ āϝā§āĻ āĻā§āϝāĻžāϞ⧠(undefined
) āĻĻāĻŋā§ā§ āϏā§āĻā§āϰ āĻšā§ā§āĻāĻŋāϞ, āϤāĻžāĻ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻ āĻāĻžāϰāĻŖā§ āĻŽāĻžāĻā§āĻŽāϧā§āϝ⧠âāĻ
āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤâ āĻĢāϞāĻžāĻĢāϞ āĻĻā§āĻāĻž āϝāĻžā§āĨ¤ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻā§āώā§āϤā§āϰā§āĻ āĻāϰ āĻŽāĻžāύ⧠āĻšāĻā§āĻā§ āĻāĻĒāύāĻŋ āĻ
āύāĻŋāĻā§āĻāĻžāĻā§āϤ āĻāĻžāĻŦā§ āĻāĻāĻžāĻā§ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāϰāĻā§āύ( āĻāĻĒāύāĻŋ āύāĻŋāĻļā§āĻāĻ āĻāĻžāύ āύāĻž āϝ⧠āĻāϰ āĻā§āϝāĻžāϞ⧠undefined
āĻšā§āĻ ) đŦ
var
keyword āĻĻāĻŋā§ā§ āĻāĻŽāϰāĻž āĻāĻā§āϏāĻŋāĻĄā§āύā§āĻāĻžāϞāĻŋ āϝāĻžāϤ⧠āĻā§āύ undefined
āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāϰ⧠āύāĻž āĻĢā§āϞāĻŋ, āϏā§āĻāύā§āϝ āϝāĻāύāĻ āĻā§āύ uninitialized āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§ access āĻāϰāϤ⧠āϝāĻžāĻ, āĻāĻāĻāĻž ReferenceError
āĻĨā§āϰ⧠āĻšā§āĨ¤ āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰā§āĻļāύā§āϰ āĻāĻā§āϰ âzoneâ āĻā§ āĻŦāϞāĻž āĻšā§ temporal dead zone : āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ(āĻāĻŦāĻ ES6 class āĻ ) āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āĻāύāĻŋāĻļāĻŋā§āĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻā§ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻžāĨ¤
āϝāĻāύ āĻāĻā§āĻāĻŋāύ āĻā§āĻĄā§āϰ āϝā§āĻ āϞāĻžāĻāύ⧠āĻāϏāϞā§āĻ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻāĻž āĻĄāĻŋāĻā§āϞā§ā§āĻžāϰ āĻāϰāĻž āĻšā§ā§āĻā§, āϏā§āĻ āϞāĻžāĻāύ āĻĒā§āϤ⧠āĻĒā§āϤ⧠āĻāĻāĻžā§, āϤāĻāύ āĻŽā§āĻŽā§āϰāĻŋāϰ āĻā§āϝāĻžāϞā§āĻā§āϞ⧠āĻāĻāĻžāϰāϰāĻžāĻāĻ āĻšā§ā§ āϝāĻžā§ āϤāĻžāϰ āϏāϤā§āϝāĻŋāĻāĻžāϰā§āϰ āĻā§āϝāĻžāϞ⧠āĻĻāĻŋā§ā§āĨ¤
(āĻāĻš āĻšā§! āĻāĻāĻžāύ⧠āϤ⧠āύāĻžāĻŽā§āĻŦāĻžāϰ ā§ āĻšāĻā§āĻžāϰ āĻāĻĨāĻž! āĻĻā§āϰā§āϤ āĻāĻĒāĻĄā§āĻ āĻāϰ⧠āĻĢā§āϞāĻŦ! đŦ)
āĻāϤāĻŽ! đ āĻā§āĻā§āĻ āϏāĻžāĻŽāĻžāϰāĻŋāĻ
var
keyword āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻšā§ āϤāĻžāĻšāϞ⧠āĻā§āϝāĻžāϞ⧠āĻšā§ undefined
āĻāĻŦāĻ let
āĻ
āĻĨāĻŦāĻž const
keyword āĻšāϞ⧠āϏā§āĻā§āώā§āϤā§āϰ⧠āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰ āĻšā§ uninitialized .āĻāĻļāĻž āĻāϰāĻŋ, āĻāĻāύ āϝā§āĻšā§āϤ⧠āĻāĻŽāϰāĻž āĻĻā§āĻāϞāĻžāĻŽ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšāĻā§āĻžāϰ āϏāĻŽā§ āĻāϏāϞ⧠āĻāĻŋ āĻšā§, hoisting āĻļāĻŦā§āĻĻāĻāĻž āĻāĻāύ āϤā§āϞāύāĻžāĻŽā§āϞāĻ āĻāĻŽ āĻ āϏā§āĻĒāώā§āĻāĨ¤ āĻŦāϰāĻžāĻŦāϰā§āϰ āĻŽāϤā§āĻ, āĻāĻāύāĻ āϝāĻĻāĻŋ āύāĻž āĻŦā§āĻā§āύ āĻāĻŋāύā§āϤāĻžāϰ āĻāĻŋāĻā§ āύā§āĻāĨ¤ āϝāϤ āĻāĻžāĻ āĻāϰāĻŦā§āύ āĻāĻāĻž āύāĻŋā§ā§ āϤāϤāĻ āϏāĻšāĻ āĻšā§ā§ āϝāĻžāĻŦā§ āĻŦāĻŋāώā§āĻāĻžāĨ¤ āϝā§āĻā§āύ āϏāĻŽāϏā§āϝāĻžā§ āĻāĻŽāĻžāĻā§ āĻāĻŋāĻā§āĻā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻāĻŽāĻŋ āϏāĻžāύāύā§āĻĻā§ āĻāĻāĻŋā§ā§ āĻāϏāĻŦāĨ¤