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

рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЖрдкрдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдХрдВрд╕реЛрд▓ рдкрд░ рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдХрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрд░реЗ
рднрдВрдбрд╛рд░ рдореЗрдВ рд╣реИрдВ ред
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдЦреНрдд рдореЛрдб рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреНрд░реЛрдо 11 рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реИред рд╕рдЦреНрдд рдореЛрдб рдХреЛрдиреЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╣реИ - рдЪрд▓реЛ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВ!
рд╕рдЦреНрдд рдореЛрдб рдХреЛ рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ?
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░
"use strict"
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдкреВрд░реНрдг рдХреЛрдб рдкрд░ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
"use strict"; 012;
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ
"use strict"
рдЬреЛрдбрд╝рдХрд░ рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
012;
рдХреНрдпрд╛ рд╕рдЦреНрдд рдХрд╛рд░реНрдп рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ?
рдмрд╛рд╣рд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдПрдХ рдЖрдВрддрд░рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рд╕рдХреНрд╖рдо рд╣реИ, рдЙрд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рднреА рд╣реЛрдЧрд╛:
var wrapper = function(fn) { 'use strict'; var deleteNonConfigurable = function () { var obj = {}; Object.defineProperty(obj, "name", { configurable: false }); delete obj.name;
рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб "рдЧреИрд░-рд╕рдЦреНрдд" (рдореВрд▓ рдЧреИрд░-рд╕рдЦреНрдд) рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдЦреНрдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ (рдпрд╛ рддреЛ рдЙрдиреНрд╣реЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдХреЙрд▓ рдпрд╛ рдЖрд╡реЗрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
var test = function(fn) { 'use strict'; fn(); } var deleteNonConfigurable = function () { var obj = {}; Object.defineProperty(obj, "name", { configurable: false }); delete obj.name;
рдореИрдВ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдЦреНрдд рдореЛрдб рд╕рдХреНрд╖рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛?
рдЬрдм рдЖрдк рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХрдВрд╕реЛрд▓ рдпрд╛ рдЕрдиреНрдп рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░
"use strict"
рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрдВрд╕реЛрд▓ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ eval рдореЗрдВ рдлреНрд░реЗрдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХрд╛
"use strict"
рдкрд╣рд▓реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдПрдХ рдХреНрд▓реЛрдЬрд░ (IIFE) рдореЗрдВ рд▓рдкреЗрдЯрдХрд░ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдордиреЗ
"use strict"
(рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╕реНрдЯреНрд░рд┐рдХ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдЗрд╕ рддрд░реАрдХреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд╡реЗрдмрдХреИрдЯ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рдкреГрд╖реНрда рдкрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░):
(function() { "use strict"; var a; var b; function bar() { x = 5;
рдпрджрд┐ рдореЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдЦреНрдд рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред
"use strict"
рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЪрд┐рдВрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рд╕рдорд░реНрдерди рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдХреНрдпрд╛ рдирд┐рдпрдо рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ?
рдирд┐рдпрдо рд╕рдЦреНрдд рдореЛрдб рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ "рд╕рдВрдХрд▓рди" рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди) рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдмрдВрдз рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЕрд╡рд▓реЛрдХрди рд╣реИ (рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ):
ecma262-5.com/els5_HTML.htm#Annex_Cрд╕рд┐рдВрдЯреЗрдХреНрд╕ рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдмреВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдВрджрд┐рдЧреНрдз рдпрд╛ рдЕрд╡реИрдз рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдСрдХреНрдЯрд▓ рдирдВрдмрд░, рдбреБрдкреНрд▓реАрдХреЗрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдиреЗрдо, рдбрд┐рд▓реАрдЯ рдХрд╛ рдЧрд▓рдд рдЗрд╕реНрддреЗрдорд╛рд▓ рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдПрд╡реИрд▓реЗрдВрд╕ рдФрд░ рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рд┐рдВрдЯреЗрдХреНрд╕рдСрдпреНрд░рд░ рдлреЗрдХ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╢рдмреНрдж
рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдореЗрдВ, рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╢рд╛рдпрдж рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдХрд╛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ (рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓рд╛) рд╣реИред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдХреЙрд▓ рдХрд░рдиреЗ рдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╢реВрдиреНрдп рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ, рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдорд╛рди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдВрдбреЛ рд╣реИ) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрдорд╛рдг
рд╣рд░ рдХреЛрдИ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдмрдирд╛рдирд╛ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рдЧрд▓рддреА рд╣реИред рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рд▓рд╛рд▓ рдХрд╛рд░реНрдб рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - ReferenceErrorред
рддрд░реНрдХред рдЫреЛрдЯреЗ рдФрд░ рддрд░реНрдХ
рдпреЗ "рдЙрдкрдпреЛрдЧреА рдЧреБрдг" (рд▓реЗрди рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛) рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдореЗрдВ рдирд┐рд╖рд┐рджреНрдз рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдЧрд╛ред
рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдШреЛрд╖рд┐рдд рдХрд░рдирд╛
рдЬрдм рдЖрдк рджреЛ рд╕рдорд╛рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдПрдХ TypeError рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ред
рдкрд░реАрдХреНрд╖рдг
рдпрд╣рд╛рдБ рдореЗрд░реЗ рд╕рдЦреНрдд рдореЛрдб рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдЬреЛ ECMAScript рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЙрд╕ рднрд╛рдЧ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг "рдХрдВрд╕реЛрд▓ рдореЛрдб" рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреГрд╖реНрда рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП HTML рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдерд╛ред рдореЗрд░реЗ
рдЧреАрдереЙрдм рднрдВрдбрд╛рд░ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реНрд░реЛрддред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡рд╣рд╛рдБ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ - рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ!
рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдпрд╣рд╛рдБ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдб рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЯреБрдХрдбрд╝рд╛ рдерд╛, рдЗрд╕реЗ рдкрд╛рд╕реНрдЯрдмрд┐рди рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛рдирд┐рд╖реНрдХрд░реНрд╖
рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд░реЛрдХрдирд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ, рдЖрдЗрдП рдЗрд╕ рдмрд╣рд╕ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдХреЗ рдмрдЪрд╛рд╡ рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреБрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ (рдЬреЛ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛) рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ (рдЬреЛ рднрд╛рд╖рд╛ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмреБрд░реА рдЪреАрдЬреЗрдВ рд╕рд┐рдЦрд╛рдПрдЧрд╛) рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рд╛рди рд╕рдордЭреМрддрд╛ рд╣реИред
рдФрд░ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ
ECMA-262 5 рд╡рд╛рдВ рд╕рдВрд╕реНрдХрд░рдг:
ECMAScript рдХрд╛ рд╕рдЦреНрдд рддрд░реАрдХрд╛рдПрд╕реЗрди рдмреЛрдЭрд┐рд▓реЛрд╡:
рд╕рдЦреНрдд рдкрд░реАрдХреНрд╖рдХECMAScript 5 рд╕рдВрдЧрддрддрд╛ рдЪрд╛рд░реНрдЯ,
рд╕рдЦреНрдд рдореЛрдб рднрд╛рдЧ ред рдпрд╣ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реНрд░реЛрдд рд╣реИ, рдпреВрд░реА рдЬреИрддрд╕реЗрд╡ (рдЬреБрд░реА рдЬрд╝рдпрддреНрд╕реЗрд╡ рдЙрд░реНрдл тАЛтАЛ"рдХрдВрдЧрдХреНрд╕") рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдмрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗред рд╕рдЦреНрдд рдореЛрдб рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рдЧрднрдЧ рдЖрдзреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЕрдкрдиреА рдЙрддреНрдХреГрд╖реНрдЯ рд╕реАрдорд╛рдУрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рд╕рдЦреНрдд рдореЛрдб рдЕрдиреНрдп рд▓рд╛рдн (рд▓реЗрдЦ mraleph ) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрд▓реНрдж рд╣реА, рд╕реНрдЯреНрд░рд┐рдХреНрдЯ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреБрд░рд╛ рд░реВрдк рдмрди рдЬрд╛рдПрдЧрд╛ ( рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдПрдирд╛рдЗрдореЗрд╢рдирдлреНрд░реЗрдо рдмрдирд╛рдо рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рдорд╛рди)ред рдЕрдм рдкреНрд░рдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ!