рдлрд┐рд░ рд╕реЗ рдирдорд╕реНрдХрд╛рд░! рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдУрдЯреАрдпреВрдПрд╕ рдореЗрдВ рд╕рд┐рддрдВрдмрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ
"рдлреБрд▓рд╕реНрдЯреИрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░" рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдПрдХ рдирдИ рдзрд╛рд░рд╛ рд╢реБрд░реВ рд╣реЛрдЧреАред рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ, рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд▓реЗрдЦ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЖрдЬ рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВред
рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ: рдкрд╛рд╡реЗрд▓ рдпрд╛рдХреВрдкреЛрд╡
рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдХреЛрдк рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рд╣реИред
рд╕реНрдХреЛрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ (рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рди рд╣реИ)ред рд╕реНрдХреЛрдк рдПрдХ рдЪрд░ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди, рдкрд╣реБрдВрдЪ, рдЪрд░ рдХреА рджреГрд╢реНрдпрддрд╛ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рдВрдмреЗ рдЬреАрд╡рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рд╣рдореЗрдВ рдЗрд╕ рджрд╛рдпрд░реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ:
рд╕реБрд░рдХреНрд╖рд╛ (рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди) - рдЪрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рддрднреА рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЪрд░ рдирд╛рдореЛрдВ рдХреЗ рд╕рдВрдШрд░реНрд╖ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреЛрдк рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рдирд╛рдорд╕реНрдерд╛рди (рдирд╛рдо рд╕реНрдерд╛рди) рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реБрдП рд╕рднреА рдЪрд░ рдХреЛ рдПрдХ рдвреЗрд░ рдореЗрдВ "рдбрдВрдк" рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ - "рдмрд╛рд╣рд░реА" рдкреНрд░рднрд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рдмрд╛рдж рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдХреЛрдк рдХреЗ рдкреНрд░рдХрд╛рд░
рд╕рд░рд▓рддрдо рд╕реНрддрд░ рдкрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджреЛ рд╕реНрдХреЛрдк рд╣реИрдВ - рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рджрд╛рдпрд░реЗ рдФрд░ рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рджреЗрдЦреЗрдВрдЧреЗред
рдЧреНрд▓реЛрдмрд▓ рд╕реНрдХреЛрдк
рдЬрдм рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
рд╕рдм рдХреБрдЫ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЪрд░, рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рд╕реБрд▓рдн рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЪрд▓рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣рд░ рд╕рдордп рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рддрднреА рд╣рдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред
рдХрдИ рдирд╡рд╛рдЧрдВрддреБрдХ рдкрд╣рд▓реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣рдж рддрдХ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рдЕрд╕реНрдерд┐рд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд░реВрд░рдд рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдЧрд░ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдореЛрд░реА рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рдЬреЛ рдЕрдирдВрдд рдирд╣реАрдВ рд╣реИред
рд╕реНрдерд╛рдиреАрдп рдЧреБрдВрдЬрд╛рдЗрд╢
рд╡реЗрд░реАрдПрдмрд▓реНрд╕ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рд╡реЗ рдХреЗрд╡рд▓ рдЙрд╕ рджрд╛рдпрд░реЗ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдирдпрд╛ рджрд╛рдпрд░рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╣реИред рдХрд┐рд╕реА рдлрдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗрд╡рд▓ рдЕрдВрджрд░ рд╕реЗ рд╣реА рд╕реБрд▓рдн рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЧреБрдВрдЬрд╛рдЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ (рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)ред
function foo(){ let x = 15; } //console.log(x); error { let y = 14; } // console.log(y); error { var z = 13; } console.log(z); // var , // // - 13
рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╕реНрдХреЛрдк
рддреЛ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╕реНрдХреЛрдк рдХреНрдпрд╛ рд╣реИ? рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдкреНрд░рдерд╛ рдХреА рдУрд░ рдореБрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЖрдк рд╢рд╛рдпрдж рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
sum(5)(5) // ? function sum(a){ var add = function(b){ return a+b; } return add; } console.log(sum(5)(5)); // 10 //
рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк
рдЕрдм рддрдХ, рд╣рдордиреЗ рдХреЗрд╡рд▓ рдЙрди рд╕реНрдХреЛрдкреЛрдВ тАЛтАЛрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдФрд░ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕реЗрд╕ {} рд╣реИрдВ, рдФрд░ рд╣рдордиреЗ var рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЕрдВрддрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред
рд╡рд░ рдирд┐рд░реНрджреЗрд╢ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЬрдм рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЪрд░ рдирд╛рдо рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ (рдпрджрд┐ рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдорддрд▓рдм рд╣реИ) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рд░ рд╕рдордп рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреИрд╕реЗ {} (рдФрд░ рдпрджрд┐, рдХреЗ рд▓рд┐рдП, рдЬрдмрдХрд┐, рдФрд░ рдЕрдиреНрдп рд╕рднреА рдХреЛ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рдПрдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рджрд╛рдпрд░реЗ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдареАрдХ рд╣реИ, рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рдЕрд╕рдВрддреЛрд╖ рдпрд╣рд╛рдВ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рджрд┐рдЦрддрд╛ рд╣реИ)ред
let x = 15; console.log(x); // { let x = 16; // console.log(x) // let x = 17; // , }
рдирдпрд╛ рдХрд╛рд░реНрдп
рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ "рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди" рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╕рд┐рдВрдЯреЗрдХреНрд╕ рдЙрджрд╛рд╣рд░рдг:
//let newFunc = new Function([arg1, arg2тАжargN], functionBody); let mult = new Function('a', 'b', 'return a * b'); console.log(mult(3,4));
рдЖрдорддреМрд░ рдкрд░, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛рдж рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд╣рд╛рдБ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ (рд▓реЗрдХреНрд╕рд┐рдХрд▓ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ), рд▓реЗрдХрд┐рди рдЬрдм рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирдП рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреА рддрд░рд╣, рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
// , ()() let a = 3; function outerFunc() { var a = 2; var func = new Function('console.log(a*a)'); return func; } outerFunc()(); // 9, window
рдЙрддреНрдерд╛рдкрди (рдЪрд░ рдХреЛ рдКрдкрд░ рдЙрдард╛рдирд╛)
рджрд╛рдпрд░реЗ рдХреА рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдирд╣реАрдВ рдЫреВ рд╕рдХрддреЗ рд╣реИрдВред рджреБрднрд╛рд╖рд┐рдпрд╛ рдЬреЛ рдХреЛрдб рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рдкрдврд╝рддрд╛ рд╣реИ: рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдкрдврд╝рддрд╛ рд╣реИ, рдФрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдкрдврд╝рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪрд░ рдЙрдирдХреЗ рдШреЛрд╖рд┐рдд рдореВрд▓реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
console.log(x); // undefined var x = 15; console.log(y);// error let y = 13;
рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдХреЗрд╡рд▓ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рджреГрд╢реНрдпрддрд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдиреЗ рджреЗрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдЬреНрдЮрд╛рди рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛!
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:developer.mozilla.org/en-US/docs/Glossary/Scopedeveloper.mozilla.org/ru/docs/Web/JavaScript/Closures2ality.com/2015/02/es6-scoping.htmllearn.javascript.ru/new-functionhabr.com/ru/company/otus/blog/466873