рдЬрдм рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡реЗрд░, рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ [рдЯрд╛рдпрд▓рд░ рдореИрдХрдЧрд┐рдирд┐рд╕ рд▓реЗрдЦ рд╕реЗ рдЕрдиреБрд╡рд╛рдж]

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЯрд╛рдпрд▓рд░ рдореИрдХрдЧрд┐рдирд┐рд╕ рдХреЗ рд▓реЗрдЦ "var vs let const рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБред

рдЫрд╡рд┐

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (ES6), рдЪрд▓реЛ рдФрд░ рдХрд╛рдВрд╕реНрдЯреЗрдмрд▓ рдореЗрдВ рдЪрд░ рдмрдирд╛рдиреЗ рдХреЗ 2 рдирдП рддрд░реАрдХреЗ рд╕реАрдЦреЗрдВрдЧреЗред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджреМрд░рд╛рди, рд╣рдо var , let, рдФрд░ const рдФрд░ рд╕рд╛рде рд╣реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐: "рдлрдВрдХреНрд╢рди рд╕реНрдХреЛрдк рдмрдирд╛рдо рдмреНрд▓реЙрдХ рд╕реНрдХреЛрдк", "рд░рд╛рдЗрдЬрд┐рдВрдЧ" рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдФрд░ рдЗрдореНрдпреБрдирд┐рдЯреА рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред

рдпрджрд┐ рдЖрдк рдПрдХ рд╡реАрдбрд┐рдпреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рджреЗрдЦреЗрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓):


ES2015 (рдпрд╛ ES6) рдиреЗ рд╣рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓, рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ 2 рдирдП рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо var , let, рдФрд░ const рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭреЗрдВ , рдХреБрдЫ рдРрд╕реЗ рд╡рд┐рд╖рдп рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рдЪрд░ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рд╛рд░рдВрдн, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ (рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░) рдФрд░ "рдмрдврд╝рд╛рдиреЗ" рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЪрд░реЛрдВ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдФрд░ рдЖрд░рдВрдн рдХрд░рдирд╛


рдПрдХ рдЪрд░ рдШреЛрд╖рдгрд╛ рдПрдХ рдирдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреА рд╣реИред

var declaration 

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

 var declaration console.log(declaration) 

рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдШреЛрд╖рдгрд╛ рдХреЗ рдЪрд░ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдФрд░ рд╣рдо рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЧрдП ред

рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдЖрдк рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

 var declaration console.log(declaration) // undefined declaration = '  ' 

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦрдХрд░ рдШреЛрд╖рдгрд╛ рдЪрд░ рдХреЛ рдЖрд░рдВрдн рдХрд┐рдпрд╛ред

рдпрд╣ рд╣рдореЗрдВ рдЕрдЧрд▓реА рдЕрд╡рдзрд╛рд░рдгрд╛, рджрд╛рдпрд░реЗ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрд╖реЗрддреНрд░


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

 function getDate () { var date = new Date() return date } getDate() console.log(date) // NOT OK: Reference Error 

рдКрдкрд░, рд╣рдордиреЗ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдЪрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреВрдБрдХрд┐ рджрд┐рдирд╛рдВрдХ рдЪрд░ рдХрд╛ рджрд╛рдпрд░рд╛ getDate рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдпрд╛ getDate рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

 function getDate () { var date = new Date() function formatDate () { return date.toDateString().slice(4) // OK } return formatDate() } getDate() console.log(date) // NOT OK: Reference Error 

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

 discountPrices([100, 200, 300], .5) 

рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 function discountPrices (prices, discount) { var discounted = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } return discounted } 

рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдмреНрд▓реЙрдХ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рд▓реВрдк рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдЪрд░ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рд╕реБрд▓рдн рд╣реИрдВ? рдпрд╣ рдЙрдкрд▓рдмреНрдз рд╣реИред

 function discountPrices (prices, discount) { var discounted = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

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

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

рдЕрдм рд╣рдордиреЗ рдЪрд░реЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ, рд╕рд╛рде рд╣реА рдЧреБрдВрдЬрд╛рдЗрд╢, рдПрдХ рдФрд░ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдпрд╣ "рдЙрдард╛рди" рд╣реИред

"рд░реЗрдЬрд┐рдВрдЧ"


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

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

рдЪрд▓реЛ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ "рдЙрддреНрдерд╛рди" рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

 function discountPrices (prices, discount) { var discounted = undefined var i = undefined var discountedPrice = undefined var finalPrice = undefined discounted = [] for (var i = 0; i < prices.length; i++) { discountedPrice = prices[i] * (1 - discount) finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдШреЛрд╖рд┐рдд рдЪрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ ред рдЗрд╕реАрд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ ред

 function discountPrices (prices, discount) { console.log(discounted) // undefined var discounted = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

рдЕрдм рдЖрдк рд╕рдм рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ var рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд╛рд╣рд┐рдП, рдЕрдм рдЪрд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдпрд╣рд╛рдБ рд╣реИрдВ: var , let рдФрд░ const рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?

var, рдЬрд╛рдиреЗ рдпрд╛ рдХрд╛рд╕реНрдЯ


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

рдФрд░ рд╣рд╛рдВ, рдЪрд▓рд┐рдП рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЕрдкрдиреЗ рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯрдкреНрд░рд╛рдЗрдЬрд╝ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред

 function discountPrices (prices, discount) { var discounted = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

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

 function discountPrices (prices, discount) { let discounted = [] for (let i = 0; i < prices.length; i++) { let discountedPrice = prices[i] * (1 - discount) let finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } discountPrices([100, 200, 300], .5) // NOT OK: ReferenceError: i is not defined 

рд╣рдореЗрдВ рд╕рдВрджрд░реНрдн рдорд┐рд▓рд╛ : рдореИрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реВрдВ ред рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реЗрд░рд┐рдПрдмрд▓ рдмреНрд▓реЙрдХ рдХреЗ рджрд╛рдпрд░реЗ рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдирд╣реАрдВред "рдмреНрд▓реЙрдХ" рдХреЗ рдмрд╛рд╣рд░ рдореИрдВ (рдпрд╛ рд░рд┐рдпрд╛рдпрддреА Price рдпрд╛ рдлрд╝рд╛рдЗрдирд▓рдкреНрд░рд╛рдЗрд╕ ) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдпрд╣ рд╣рдореЗрдВ рдХреЙрд▓ рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЕрднреА рджреЗрдЦрд╛ред

 var VS let var:     let:     

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдВрддрд░ "рдЙрддреНрдерд╛рди" рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ "рдЙрддреНрдерд╛рди" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ: "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛" рдмрдирд╛рдПрдБ "рдирд╛рдордХ рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рднреА рджреЗрдЦрд╛ рдерд╛ред

 function discountPrices (prices, discount) { console.log(discounted) // undefined var discounted = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ var рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдерд╛), рддреЛ рдЖрдкрдХреЛ рдПрдХ ReferenceError рдорд┐рд▓реЗрдЧреАред

 function discountPrices (prices, discount) { console.log(discounted) // NOT OK: ReferenceError let discounted = [] for (let i = 0; i < prices.length; i++) { let discountedPrice = prices[i] * (1 - discount) let finalPrice = Math.round(discountedPrice * 100) / 100 discounted.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return discounted } 

 var VS let var:        undefined         . let:       ReferenceError        . 

рдЪрд▓реЛ рдпрд╛ рдХрд╛рдВрд╕реНрдЯреЗрдмрд▓


рдЕрдм рдЖрдк var рдФрд░ Let рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, const рдХрд╛ рдХреНрдпрд╛? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрд╛рд╕реНрдЯ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЕрдВрддрд░ рд╣реИ: рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдИ рдорд╛рди рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред

 let name = 'Tyler' const handle = 'tylermcginnis' name = 'Tyler McGinnis' // OK handle = '@tylermcginnis' // NOT OK: TypeError: Assignment to constant variable. 

рдКрдкрд░ рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЪрд▓реЛ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рдВрд╕реНрдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдЪрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред

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

 const person = { name: 'Kim Kardashian' } person.name = 'Kim Kardashian West' // OK person = {} // NOT OK: Assignment to constant variable. 

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

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

рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рд╕реЗ рдорд╛рдорд▓реЗ рдирд╣реАрдВ рдмрдЪреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдХрднреА рднреА var рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рдЕрдм, рдЕрд▓реЛрдХрдкреНрд░рд┐рдп рд░рд╛рдп, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдФрдЪрд┐рддреНрдп рд╣реИ, рдХрд┐ рдЖрдкрдХреЛ рдХрднреА рднреА рдХрд╛рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рджреЗрдЦрд╛, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд░рд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рд╣рдореЗрд╢рд╛ рддрдм рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЪрд░ рдРрд╕рд╛ рди рд╣реЛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд┐рд░ рд╣реЛ, рдЬреИрд╕реЗ рдХрд┐ _LOCATION_ = ...ред

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

 var VS let VS const var:        undefined         . let:       ReferenceError        . const:       ReferenceError        .     

рдпрд╣ рд▓реЗрдЦ рдореВрд▓ рд░реВрдк рд╕реЗ рдореЙрдбрд░реНрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ tylermcginnis.com рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛ред

рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдВрдЧреЗред рдореБрдЭреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА!

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


All Articles