рд╡рд╛рд░, рд▓реЗрдЯ рдпрд╛ рдХрд╛рдВрд╕реНрдЯ? рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореБрджреНрджреЗ рдФрд░ рдИрдПрд╕ 6

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдХреЛрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╡рд┐рд╖рдп рд░рд╣рд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реА рдФрд░ рдЬрд╛рд╡рд╛ рдЬреИрд╕реА рдЕрдзрд┐рдХ рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕рдВрдЧрдард┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВред рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЗрдПрд╕ рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рдереА, рдХреНрдпреЛрдВрдХрд┐ рднрд╛рд╖рд╛ рдХреЗ рдкрд╛рд╕ рдмрд╕ рдХреЛрдИ рд╕рд╛рдзрди рдирд╣реАрдВ рдерд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ 6 рдореЗрдВ рдХреБрдЫ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд╡реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реБрд▓рдн рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдХреАрд╡рд░реНрдб, рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреБрд░рд╛рдиреЗ var рдХреАрд╡рд░реНрдб рдирд╣реАрдВ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ, рди рдХреЗрд╡рд▓ рдирдП рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ, рдмрд▓реНрдХрд┐ рдирдП рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рднреА рд╣реИред рдХрдм рдФрд░ рдХреИрд╕реЗ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ? рд╡реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ? рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ var рдХреАрд╡рд░реНрдб рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ? рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИред



рдЪрд░ рд╕реНрдХреЛрдк: рдПрдХ рдЕрд╡рд▓реЛрдХрди


рдПрдХ рдЪрд░ рдХрд╛ рджрд╛рдпрд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ, рдЬреЛ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреМрд╕рд┐рдЦрд┐рдпреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЪрд░ рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдЪрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 var myVar = 1; function setMyVar() { myVar = 2; } setMyVar(); console.log(myVar); 

console.log рд╡рд┐рдзрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдХрд┐рд╕реА рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛: рдпрд╣ 2 рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЧрд╛ред рдЪрд░ myVar рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╛рди рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХреЛрдИ рднреА рдлрд╝рдВрдХреНрд╢рди myVar рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреЛрдб рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдкреЗрдЬ рд╕реЗ рдЬреБрдбрд╝реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рднреА рдЗрд╕ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 function setMyVar() { var myVar = 2; } setMyVar(); console.log(myVar); 

рдмрд╛рд╣реНрдп рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдорд╣рддреНрд╡рд╣реАрди рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдлрдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдЕрдм console.log рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрд░ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрдирд╣реЗрд▓реНрдб ReferenceError рдПрд░рд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдирддреАрдЬрддрди, рдЗрд╕ рдЪрд░ рдХрд╛ рджрд╛рдпрд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдВрддрд░рд┐рдХ рджрд╛рдпрд░реЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЗрд╕реЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдлрд╝рдВрдХреНрд╢рди рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рд╣рд░ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕реНрддрд░ рдкрд░ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕ рдЪрд░ рдХреЛ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рдпреЗ рдХрд╛рд░реНрдп рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдЙрдирдХреЗ рдЖрдВрддрд░рд┐рдХ рджрд╛рдпрд░реЗ рд╕реЗ рдПрдХ рд╕реНрддрд░ рдЕрдзрд┐рдХред

рдпрд╣рд╛рдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд▓реЛрдХрди рд╣реИ: рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдФрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдХреЛрдб рдХрд┐рд╕реА рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрд╛рдо рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЯреАрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рднрд▓реЗ рд╣реА рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ, рд╡рд╣ рдЖрдорддреМрд░ рдкрд░ рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдЪрд░ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдЬрд┐рдирдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, " рдореЙрдбреНрдпреВрд▓ " рдкреИрдЯрд░реНрди рдФрд░ IIFE , рдХреБрдЫ рдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЪрд░ рдЬрд┐рдирдХрд╛ рджрд╛рдпрд░рд╛ рдЙрдирдХреА рдЬрд░реВрд░рдд рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред

Var рдХреАрд╡рд░реНрдб рдХреА рд╕рдорд╕реНрдпрд╛


рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ "рдЧреБрдВрдЬрд╛рдЗрд╢" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдЕрдм рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 function varTest() { for (var i = 0; i < 3; i++) {   console.log(i); } console.log(i); } varTest(); 

рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж рдХрдВрд╕реЛрд▓ рдХреЛ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдмрдврд╝рддреЗ рдХрд╛рдЙрдВрдЯрд░ i : 0 , 1 рдФрд░ 2 рдХреЗ рдореВрд▓реНрдп рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд▓реВрдк рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рдирд╛ рдЬрд╛рд░реА рд╣реИред рдЕрдм рд╣рдо рдЙрд╕реА рдХрд╛рдЙрдВрдЯрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд▓реВрдк рдХреЗ for рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рд▓реВрдк рдХреЗ рдмрд╛рд╣рд░ред рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдЖрдПрдЧрд╛?

i рд▓реВрдк рдХреЗ рдмрд╛рд╣рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, 3 рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ var рдХреАрд╡рд░реНрдб рдлрд╝рдВрдХреНрд╢рди рд╕реНрддрд░ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 function doSomething() { var myVar = 1; if (true) {   var myVar = 2;   console.log(myVar); } console.log(myVar); } doSomething(); 

рдЕрдм рдХрдВрд╕реЛрд▓ рдХреЛ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛? 2 рдФрд░ 2 ред рд╣рдо рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ 1 рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрд╕реА if рдЕрдВрджрд░ рдЙрд╕реА рдЪрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ if ред рдЪреВрдБрдХрд┐ рдпреЗ рджреЛрдиреЛрдВ рдШреЛрд╖рдгрд╛рдПрдБ рдПрдХ рд╣реА рджрд╛рдпрд░реЗ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рд╣рдо рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЪрд░ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдкрд╣рд▓рд╛ рд╡реЗрд░рд┐рдПрдВрдЯ if рдЕрдВрджрд░ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ var рдХреАрд╡рд░реНрдб рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджреЛрд╖ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдЪрд░ рдХрд╛ рджрд╛рдпрд░рд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЕрдирдЬрд╛рдиреЗ рдбреЗрдЯрд╛ рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рджреГрд╢реНрдпрддрд╛ рдХреЗ рдмрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░ рдЕрдХреНрд╕рд░ рдЧрд▓рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдкрд╛рд╕ рдЙрд╕рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдПрдХ рджрд╛рдпрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЙрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВред рдРрд╕реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рд╕реНрдХреЛрдк var рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрддрдирд╛ рдмрдбрд╝рд╛ рди рд╣реЛ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рдмреЗрд╣рддрд░ рдПрд░рд░-рдкреНрд░реВрдл рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рдХрд░ рджреЗрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, ECMAScript 6 рд╣рдореЗрдВ рдРрд╕реЗ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдирдП рддрд░реАрдХреЗ


ECMAScript 6 рдорд╛рдирдХ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ, рдЬрд┐рд╕реЗ ES6 рдФрд░ ES2015 рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╣рдореЗрдВ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рдирдП рддрд░реАрдХреЗ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рднрд┐рдиреНрди рд░реВрдк рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ var рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдФрд░ рдХреБрдЫ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдпреЗ let рдФрд░ const рдХреАрд╡рд░реНрдб рд╣реИрдВред рджреЛрдиреЛрдВ рд╣рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рджрд╛рдпрд░рд╛ рдХреЛрдб рдХреЗ рдПрдХ рдмреНрд▓реЙрдХ рддрдХ рд╕реАрдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд▓реВрдк рдХреЗ рд▓рд┐рдП рдпрд╛ if ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЪрд░реЛрдВ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдЪреБрдирдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИред рдирдП рдХреАрд╡рд░реНрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

.Use рдХреЗ рдХреАрд╡рд░реНрдб


let рдХреАрд╡рд░реНрдб, var рд╕рдорд╛рди рд╣реИ, рдореБрдЦреНрдп рдЕрдВрддрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рд╕реАрдорд┐рдд рджрд╛рдпрд░рд╛ рд╣реИред рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, let рд╕рд╛рде var рдЬрдЧрд╣:

 function doSomething() { let myVar = 1; if (true) {   let myVar = 2;   console.log(myVar); } console.log(myVar); } doSomething(); 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ 2 рдФрд░ 1 рдХрдВрд╕реЛрд▓ рдХреЛ рдорд┐рд▓реЗрдЧрд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ if рд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕реНрдХреЛрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рдШреЛрд╖рд┐рдд рдЪрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдЗрдХрд╛рдИ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЗ рдиреЗрд╕реНрдЯреЗрдб рдмреНрд▓реЙрдХ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░реЗ if , рдЙрд╕ рдХреАрд╡рд░реНрдб рд╕реЗ рдШреЛрд╖рд┐рдд рдЪрд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдЯ if , рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╕реНрд╡рдпрдВ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 function doSomething() { let myVar = 1; if (true) {   console.log(myVar); } } doSomething(); 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрдВрд╕реЛрд▓ рдХреЛ рдирдВрдмрд░ 1 рдорд┐рд▓реЗрдЧрд╛ред if рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХреЛрдб рдХреА рдкрд╣реБрдВрдЪ рдЙрд╕ рдЪрд░ рддрдХ рд╣реИ, рдЬреЛ рд╣рдордиреЗ рдЙрд╕рдХреЗ рдмрд╛рд╣рд░ рдмрдирд╛рдИ рдереАред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдк рджрд╛рдпрд░реЗ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд░реЗрдВ:

 function doSomething() { let myVar = 1; if (true) {   console.log(myVar);   let myVar = 2;   console.log(myVar); } } doSomething(); 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ console.log рдХреЙрд▓ 1 рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ ReferenceError рддреНрд░реБрдЯрд┐ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕ рджрд╛рдпрд░реЗ рдХреЗ рд▓рд┐рдП myVar рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ рд╣реИ (рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрд╛рда рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИ) рдмреНрд░рд╛рдЙрдЬрд╝рд░)ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬ рд╣реИ рдЬреЛ рдЪрд░ рдХреЛ рдЕрдкрдиреЗ рджрд╛рдпрд░реЗ рдХреЗ рд╢реАрд░реНрд╖ рддрдХ рдмрдврд╝рд╛рддреА рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдПрдХ рдЪрд░ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рд░рдЦрддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬрдм var рдФрд░ let рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 console.log(varTest); var varTest = 1; console.log(letTest); let letTest = 2; 

рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрдорд╛рдВрдб рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛, рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ var рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, undefined рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ - рдЕрд░реНрдерд╛рдд, рдЗрд╕ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рджреВрд╕рд░рд╛ рдХрдорд╛рдВрдб, рдЬреЛ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ let рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ ReferenceError рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рд╣рдо рдШреЛрд╖рд┐рдд рдпрд╛ рдЖрд░рдВрдн рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдмрд╛рдд рд╣реИ?

рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рддрдВрддреНрд░ рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдХреЗ рдЖрд░рдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛рдПрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡реЗрд░рд┐рдПрдмрд▓ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдЙрдирдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ undefined рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЧрдП рд╣реЛрдВред рдпрд╣рд╛рдВ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЪрд░ рдореЗрдВ undefined рдореВрд▓реНрдп рд╣рдореЗрд╢рд╛ рдпрд╣ рдирд╣реАрдВ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 var var1; console.log(var1); console.log(var2); var var2 = 1; 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ var1 рдФрд░ var2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рджреЛрдиреЛрдВ var2 undefined рдЖрдЙрдЯрдкреБрдЯ рджреЗрдВрдЧреЗред рдпрд╣рд╛рдБ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ, undefined рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рд╣реИ, рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдЪрд░, рдЬреЛ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рднреА undefined рд╣реЛрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕реНрд░реЛрдд рдХреНрдпрд╛ рд╣реИ - рдПрдХ рдЕрд╕рдВрдЧрдард┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╛ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рд▓реЗрдЯрд░ рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдЙрдирдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рдЖрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди, рдШреЛрд╖рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗ рдЕрд╕реНрдерд╛рдпреА рдореГрдд рдХреНрд╖реЗрддреНрд░ (TDZ, рдЯреЗрдореНрдкреЛрд░рд▓ рдбреЗрдб рдЬреЛрди) рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдШреЛрд╖рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рд┐рд╕реНрдЯрдо рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╣реА рдХрд╛рд░рдг рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ:

 let var1; console.log(var1); console.log(var2); let var2 = 1; 

рдпрд╣рд╛рдВ, console.log рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХреЙрд▓ undefined рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛, рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ ReferenceError рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛, рд╣рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЪрд░ рдЕрднреА рддрдХ рдШреЛрд╖рд┐рдд рдпрд╛ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдирддреАрдЬрддрди, рдпрджрд┐ var рдХрд╛ рдЙрдкрдпреЛрдЧ undefined рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдПрдХ рдЪрд░ рдХреЛ рдпрд╛ рддреЛ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрд╕рдВрдЧрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдЕрднреА рддрдХ рдЗрд╕ рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЗ рдиреАрдЪреЗ рд╕реНрдерд┐рдд рдХреЛрдб рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред let рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИред

тЦН рдХрд╛рд╕реНрдЯ рдХреАрд╡рд░реНрдб рдХрд╛ рдкреНрд░рдпреЛрдЧ


const рдХреАрд╡рд░реНрдб рдХреАрд╡рд░реНрдб рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИред рдЗрд╕ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдЖрд░рдВрдн рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░, рдкрд╛рдиреА, рддрд╛рд░ рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд╕реНрддреБ рдпрд╛ рдПрдХ рд╕рд░рдгреА, рдРрд╕реА рдЗрдХрд╛рдИ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 let mutableVar = 1; const immutableVar = 2; mutableVar = 3; immutableVar = 4; 

рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд┐рд╕реА рдирдП рдорд╛рди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк TypeError рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╡рд╕реНрддреБрдПрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд░рддреА рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рдореНрдпреВрдЯреЗрд╢рди рд╕реЗ рдЧреБрдЬрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ред

рд╢рд╛рдпрдж рдЖрдк, рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЪрд░ рдХреА рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдирдИ рдШрдЯрдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡реЗ рд╕реА рдпрд╛ рдЬрд╛рд╡рд╛ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЗрддрдиреА рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрдпреЛрдВ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдПрдХ рдЪрд░ рдХрд╛ рдорд╛рди рдмрджрд▓рдирд╛ рдХреЛрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдИ рдЗрд╕рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдФрд░ рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╛рддреА рд╣реИ, рдпрд╛ рдпрджрд┐ рдЪрд░ рдореЗрдВ HTML рддрддреНрд╡ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд╣реЛ, рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрдЯрди рдХрд╛ рд▓рд┐рдВрдХ рд▓рд┐рдЦрд╛ рд╣реИ:

 const myButton = document.querySelector('#my-button'); 

рдпрджрд┐ рдХреЛрдб HTML рддрддреНрд╡ рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕ рд▓рд┐рдВрдХ рдХреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рд╣рдо рдпрд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ const рдХреАрд╡рд░реНрдб рди рдХреЗрд╡рд▓ рджреГрд╢реНрдпрддрд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдорд╛рд░реНрдЧ рдкрд░ рднреА рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдордиреЗ рдХреИрд╕реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдПрдХ рдЪрд░ рдореЗрдВ рд╡рд╣ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЛ рдЖрдЧреЗ рд░рдЦрдХрд░ рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдЪрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЙрдЪрд┐рдд рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВред рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдЕрдЪреНрдЫреА рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рд╕реЗ рд╕реЛрдЪрдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХреА рд╢реБрджреНрдзрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдкреНрд░рд┐рдп рдЖрд╢реНрдЪрд░реНрдп рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдореА рдЖрддреА рд╣реИред

рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ let рдФрд░ const рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ let рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдХреЗрд╡рд▓ рддрдм рд╣реА const рд╕рд╣рд╛рд░рд╛ const , рдЬрдм рддрдХ let рд╕рд╛рде рдШреЛрд╖рд┐рдд рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рдирдпрд╛ рдорд╛рди рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ред рдЕрдм рдореЗрд░рд╛ рдореБрдЦреНрдп рдЙрдкрдХрд░рдг const , рдФрд░ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рд╣рдореЗрдВ var рдХреАрд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?


let рдФрд░ const рдХреАрд╡рд░реНрдб рдПрдХ рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЕрднреА рднреА var keyword рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рд╛рдБ рд╣реИрдВред рдРрд╕реА рдХрдИ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдпрд╣ рдЦреЛрдЬрд╢рдмреНрдж рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдзреНрдпрд╛рди рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд╣рдо const рдпрд╛ const рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ тЦН рд╡рд╛рд░ рдХреАрд╡рд░реНрдб рд╕рдорд░реНрдерди рд╕реНрддрд░


var рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрдореА рдФрд░ рдХрдореА рдХрд╛ рдХрд╛рд░рдг const ред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рдХреАрд╡рд░реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрджреНрдпрдкрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЬреЛрдЦрд┐рдо рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдШрдЯрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд╕рдорд░реНрдерд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдкрд░ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рд╕реАрдПрд╕рдПрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд╡рд┐рдХреГрддрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд╕рд╛рдЗрдЯ рдЬреЛ рд╕рд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд╡рд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рджрд┐рдЦреЗрдЧреА, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, let , рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рдХреАрд╡рд░реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХрд╛ рдЬреЗрдПрд╕ рдХреЛрдб рдмрд╕ рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдмрди рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЬрдм рд▓реЛрдЧ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдЗрдЯ рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреАред рдпрджрд┐ рд╣рдо рдПрдХ рдРрд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ let рдФрд░ const рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рддреЛ рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╢реНрди рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: "рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА?"ред рдФрд░ рдпрд╣ display: flex рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╣реИ display: flex рдпрд╛ рдирд╣реАрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП, рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдмрдбрд╝реА рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдРрд╕реА рд╕рд╛рдЗрдЯреЗрдВ рдЬрд┐рдирдХреЗ рдорд╛рд▓рд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЦрд░реАрджрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдирдП рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЬреЛрдЦрд┐рдо рдХреЗ рд╕реНрддрд░ рдХрд╛ рдЖрдХрд▓рди рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк let , const рдФрд░ рдЕрдиреНрдп рдирдИ рдИрдПрд╕ 6 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, let рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдмрдмрд▓ рдЬреИрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред Transpilers рдирдП рдХреЛрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдордЭреЗрдВрдЧреЗред рдмреИрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЖрдзреБрдирд┐рдХ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рднрд╛рд╖рд╛ рдХреА рдирд╡реАрдирддрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

, ? , . , , , , . , . , , . ES6-, Babel, Babel , , . , , . . ? - IE8 ? , , , , , .

тЦН var


, var , . . :

 var myVar = 1; function myFunction() { var myVar = 2; //  ,     myVar    ! } 

, myVar , , . , . , , , , . , . var .

 var myVar = 1; function myFunction() { var myVar = 2; console.log(myVar); // 2 console.log(window.myVar); // 1 } 

var , window . let const . , JS- , (, , ) , .

, . , . , , , :

 let myGlobalVars = {}; let myVar = 1; myGlobalVars.myVar = myVar; function myFunction() { let myVar = 2; console.log(myVar); // 2 console.log(myGlobalVars.myVar); // 1 } 

, , , , . , , var , , , , , .

рдкрд░рд┐рдгрд╛рдо


, ? ? :

  • IE10 - ? тАФ var .
  • JavaScript, , , var , const . - (, , ) тАФ let .

let const , ECMAScript 6, ( ) - -. , , , . , - , ┬л┬╗ ┬л┬╗ , , let const , .

! , const var , let , , , ?

Source: https://habr.com/ru/post/hi420359/


All Articles