EcmaScript рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧред рд╢реБрджреНрдз рдХрд╛рд░реНрдп, рд▓рдВрдмреЛрджрд░, рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!

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

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдЪрдп


рдлрд╝рдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдПрдлрдкреА) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рд┐рдЦрдХрд░ рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред

EcmaScript, рдПрдХ рдмрд╣реБ-рдкреНрд░рддрд┐рдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ES рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рд╣реИрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдиреА ES рдореЗрдВ рдХрд╛рд░реНрдп рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп рд╣реИрдВ ред

рдЗрд╕рдХреЗ рдмрд╛рдж рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ:

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реНрдХ (рдлрд╝рд╛рд░рдЧ) - рдПрдХ рддрд░реНрдХ рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред

рдПрдХ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди (рдПрдлрдбрдмреНрд▓реНрдпреВрдкреА, рдЙрдЪреНрдЪ-рдСрд░реНрдбрд░-рдлрд╝рдирдХреНрд╢рди, рд╣реЙрдлрд╝) рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рдирд▓ рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдлрд╝рдВрдХреНрд╢рди рдореВрд▓реНрдпрд╡рд╛рди рдлрд╝рдВрдХреНрд╢рди) - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИред

рдЗрди рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВред

рд╢реБрджреНрдз рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЖрджрд░реНрд╢


рд╢реБрджреНрдз рдХрд╛рд░реНрдп (рдкреАрдПрдл) - рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред
рдкреАрдПрдл рдЧреБрдг:

  • рдкреАрдПрдл рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдФрд░ рдкреАрдПрдл рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
  • рд╡реИрд╢реНрд╡рд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ
  • рдмрд╛рд╣рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдпрд╛ рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рди рдХрд░реЗрдВ
  • рдбреЗрдЯрд╛ рдХреЛ рдлрд╛рдЗрд▓, рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдХрд╣реАрдВ рдФрд░ рди рд▓рд┐рдЦреЗрдВ

рд╢реБрджреНрдз рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

const add = (x,y) => x+y; 

рдлрд╝рдВрдХреНрд╢рди рдЕрд╢реБрджреНрдзрддрд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

 var first; var second; function testFn() { var a = 10; first = function() { return ++a; } second = function() { return --a; } a = 2; first();//3 } testFn(); first();//4 second();//3 

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдХрд┐рддрдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдпрд╣ рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИ!

Impure рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд╛рд╣рд░реА рд░рд╛рдЬреНрдп рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдХреЛрдб рдХреЗ рд░рдЦрд░рдЦрд╛рд╡, рд╕рдордЭ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╢реБрджреНрдз рдХрд╛рд░реНрдп рд╣рдореЗрд╢рд╛ рдкрдардиреАрдп, рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВ, рдЧрдгрдирд╛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВред

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

рд▓рдВрдмреЛрджрд░ - рдХрд╛рд░реНрдп


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

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

ES рдореЗрдВ, рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрд╣реБрдд рдмрд╛рд░ рдПрдХ рдХреНрд▓реЛрдЬрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

 const add = x => y => x + y; 

рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддред рдРрдб рдлрдВрдХреНрд╢рди рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рд╣реИ рдЬреЛ рдПрдХ рддрд░реНрдХ x рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдлрдВрдХреНрд╢рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

 funtion add(x) { return function (y) { return x + y; } } 

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдмреЗрд╣рддрд░ рджрд┐рдЦрддрд╛ рд╣реИред

Imutabelnost


рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп (рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп, рдЙрдиреНрдореБрдХреНрддрд┐) рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рдмрджрд▓реА рдЬрд╛ рд╕рдХрддреАред рдРрд╕реА рд╡рд╕реНрддреБ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рд╣реЛрдЧреА, рдЬрдмрдХрд┐ рдкреБрд░рд╛рдиреА рд╡рд╕реНрддреБ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреАред

рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕реБрдирд╣рд░реА рдХрдмреНрд░ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 const impureAddProp = (key, value, object) => { object[key] = value;//   }; const User= { name: 'Alex' }; impureAddProp ('isAdmin', true, User); 

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

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╕рд╣реА рд╣реЛрдЧрд╛:

 const pureAddProp = (key, value, object) => ({ ...object, [key]: value }); const User= { name: 'Alex' }; const Admin= pureAddProp ('isAdmin', true, User); 

рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧрд╛ред рд╣рдо рдбреЗрдЯрд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддреА рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЖрдЬ рд╣рдордиреЗ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИред рд╣рдо рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореЗрдордиреЗ рдХреЗ рд░реВрдк рдФрд░ fp рдореЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд▓реЗрдЦ рдПрдХ рддрд░рд╣ рдХрд╛ рдкрд░рд┐рдЪрдп рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░, рддрдХрдиреАрдХ рдФрд░ "рдХрдард┐рди рднрд╛рдЧ" рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╣реЛрдВрдЧреЗред

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

рдЙрдкрд╕рдВрд╣рд╛рд░


рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдерд╛:

  • рджрд┐рд▓рдЪрд╕реНрдк рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рд▓рд┐рдЦреЗрдВ
  • рдЬреЗрдПрд╕ рдореЗрдВ рдХрдИ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ, рдПрдХреНрдорд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ, рдкреИрдЯрд░реНрди, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдУрдУрдкреА)ред

рдЖрдЬ рддрдХ, рддреАрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рдореБрдЦ рд▓реЗрдЦ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦреЗ рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВ:

  1. EcmaScript рдореЗрдВ рдпрд╣ рдФрд░ рд╕реНрдХреЛрдкрдЪрд┐рди - рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреА рдРрд╕реА рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрдн, рдЗрд╕ рдХреАрд╡рд░реНрдб рдФрд░ рд╕реНрдХреЛрдкрдЪрд┐рди рд╕рдВрджрд░реНрдн рд╕рдВрдкрддреНрддрд┐ (рд╕реНрдХреЛрдк рдЪреЗрди) рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рджрд┐рд╢рд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд▓реЗрдХреНрд╕рд┐рдХрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рдХреНрд▓реЛрдЬрд░ рдкрд░ рдореЗрд░рд╛ рд▓реЗрдЦ рдЖрдЬ рд╕рдЪрдореБрдЪ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛ред
  2. рдУрдУрдкреА рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдПрдХреНрдорд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрдХ рдирдЬрд╝рд░ - рдпрд╣рд╛рдВ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдФрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рдВрдЧрдарди рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореЙрдбрд▓ рдФрд░ рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдбрд┐рд╕рд╛рдЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
  3. рдЖрдзреБрдирд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдкреИрдЯрд░реНрди (рдЪрдХреНрд░ рдкрд░ рдмрд┐рд▓ рд╕реЙрд░рд░ рд╕рдВрдХрд▓рди рд╢реНрд░реГрдВрдЦрд▓рд╛) - рдпрд╣рд╛рдВ рджреЛ рдкреИрдЯрд░реНрди рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдкреИрдЯрд░реНрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдиреЗ рдкреИрдЯрд░реНрди рдХреЛ рдЬрд╛рдирдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрддреЗ рд╣реИрдВ

рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдмрд╛рд░реА рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд▓рд╛ рд▓реЗрдЦ рдУрдУрдкреА рдХреА рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛: рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди, рдПрдмреНрд╕реНрдЯреНрд░рдХреНрд╢рди, рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдВ (рдФрд░ рд╕реНрдЯреНрд░реЛрдХ), рдЗрдВрдЯрд░рдлреЗрд╕, рдЖрджрд┐ ... рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдИрдПрд╕рдУрдкреА рдХреЛ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред [[рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк]], [[рдХреНрд▓рд╛рд╕]] рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдмрд╛рдд рдХрд░реЗрдВ рдХрд┐ v8 рдХреИрд╕реЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рдФрд░ рд╡рд░реНрдЧреЛрдВ, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИред

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

рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВ рдпрд╛ рддреЛ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рдордЭ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ), рдпрд╛ рдореИрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рдХреНрд╖рд┐рддрд┐рдЬ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдмрдирд╛рддреЗ рд╣реИрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред Yandex рдпрд╛ Edadil рдЬреИрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдХреБрдЫ рддрд░рд╣ рдХреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╛ рддреЛ рдпреЗ рд░рд┐рдПрдХреНрд╢рди рдореЗрдВ рдмрд┐рдЯрдореИрдк рд╣реИрдВ, рдлрд┐рд░ рд╡реАрдпреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ es6 рдХреНрд▓рд╛рд╕реЗрд╕ рдкрд░ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЗрдЦ рддрдХ, рджреЛрд╕реНрддреЛрдВ!

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


All Articles