ECMAScript рд╕рджреНрднрд╛рд╡ рдФрд░ Node.js

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

рдЙрддреНрд╕рд╛рд╣ рд╕реЗ рднрд░рд╛, рдореИрдВрдиреЗ рд▓реЗрдЯ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдлреЗрдВрдХ рджрд┐рдпрд╛ред
- "рдФрд░ рдЖрдк рд╕реЗ рдЕрдВрдЬреАрд░," рдиреЛрджрд╛ рдиреЗ рдХрд╣рд╛, "рдПрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рддреНрд░реБрдЯрд┐!"
рдФрд░, рджреБрдЦреА рд╣реЛрдХрд░ рдореИрдВрдиреЗ рдЗрд╕ рдЙрджреНрдпрдо рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдмрд╛рдж рдореЗрдВ рдирд┐рдХрд▓рд╛ - рд╡реНрдпрд░реНрде рдореЗрдВред
рдиреЛрдб рдмреНрд░реЗрдХрдиреЗрдХ рдЧрддрд┐ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓ рд░рд╣рд╛ рдерд╛ред рдЪрд╛рдВрдЧреЗрд▓реЙрдЧреНрд╕ рдиреЗ рд▓рдЧрд╛рддрд╛рд░ V8 рдХреЗ рдмрджрд▓рддреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ред рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд╕рджреНрднрд╛рд╡ рдХрд╣рд╛рдВ рд╣реИ?
рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдПрдХ рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдирд┐рдХрд▓рд╛, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ Google рдореЗрдВ рджрдлрдирд╛рдпрд╛ рдФрд░ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдореВрд░реНрдЦ рдерд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдиреЛрдб.рдЬреЗрдПрд╕ рдиреЗ рд▓реЙрдиреНрдЪ рдлреНрд▓реИрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИ - рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╢рд░реНрдо рдФрд░ рдХрдИ рдЕрдиреНрдп:
рдЭрдВрдбреЗ
- рдзрд░реНрдо (рд╕рднреА рд╕рджреНрднрд╛рд╡ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рдЯрд╛рдЗрдкреЛ рдХреЛ рдЫреЛрдбрд╝рдХрд░))
--harmony_typeof (рдЯрд╛рдЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╕рджреНрднрд╛рд╡ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ)
--harmony_scoping (рд╕рджреНрднрд╛рд╡ рдмреНрд▓реЙрдХ рд╕реНрдХреВрдкрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ)
--harmony_modules (рд╕рджреНрднрд╛рд╡ рдореЙрдбреНрдпреВрд▓ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рдмреНрд▓реЙрдХ рд╕реНрдХреВрдкрд┐рдВрдЧ рдХрд╛ рдЕрд░реНрде рд╣реИ))
--harmony_proxies (рд╕рджреНрднрд╛рд╡ рдкреНрд░реЙрдХреНрд╕реА рд╕рдХреНрд╖рдо рдХрд░реЗрдВ)
-harmony_collections (рд╕рджреНрднрд╛рд╡ рд╕рдВрдЧреНрд░рд╣ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рд╕реЗрдЯ, рдирдХреНрд╢реЗ рдФрд░ рдХрдордЬреЛрд░ рдирдХреНрд╢реЗ))
--use_strict (рд╕рдЦреНрдд рдореЛрдб рд▓рд╛рдЧреВ рдХрд░реЗрдВ) // рдереЛрдбрд╝рд╛ рдмрдВрдж рд╡рд┐рд╖рдп, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛

рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)




рддреЛ рдЗрд╕ рд╕рдордп рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ECMAScript рд╣рд╛рд░реНрдордиреА рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?


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

рд╕реНрдерд┐рд░рд╛рдВрдХ


V8 рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рд╣рд╛рд░реНрдордиреА рд╕реБрд╡рд┐рдзрд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЭрдВрдбреЗ рдХреЗ, рдФрд░ рдХрдИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдкрд╣рд▓реЗ, js рдиреЗ рдХреИрдкреНрд╕ рдореЗрдВ "рд╕реНрдерд┐рд░рд╛рдВрдХ" рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рдХреБрдЫ, рдПрдХ рд╣реА рдЯреЛрдкреА рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реБрдирдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ, рдХреА рд╢реИрд▓реА рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝ рджреА:
var CONST_C=1;// !!!111 

рдЕрдм рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
 const C=1; C=2; console.log(C);//=>1 

рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ, рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рджрд╛рдпрд░рд╛ рдкрд╣рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХред

рдЪрд▓реЛ рдФрд░ рдмреНрд▓реЙрдХ


рдпрд╣ рдХреЗрд╡рд▓ рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ --use_strict рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред рд╕рдЪ рд╣реИ, рдХреЗрд╡рд▓ рддрднреА рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдирд╣реАрдВ рдЬреА рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд░реНрдХред
рдпрд╣ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ , рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рд╕рдорд╛рди рд╣реИ, рдПрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ - рдЧреБрдВрдЬрд╛рдЗрд╢ рдПрдХ рдмреНрд▓реЙрдХ рддрдХ рд╕реАрдорд┐рдд рд╣реИред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 "use strict"; let i=1; { let i=2; console.log(i);//=>2; } console.log(i);//=>1; for(let i=0;i<5;i++) console.log(i);//=> 0, 1, 2, 3, 4 console.log(i);//=>1; if(true) var j=1;//OK if(true) let k=1;//!!!   - SyntaxError: Illegal let declaration in unprotected statement context. //,   : const C=1; { const C=2; console.log(C);//=>2; } console.log(C);//=>1; 


рдкреНрд░рддрд┐рдирд┐рдзрд┐


рд╢рд╛рдпрдж рдЗрд╕ рд╕рдордп рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкред рдЕрдЧрд▓реЗ рд╕реНрддрд░ рддрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд▓рд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдкрдХреЛ рдЧреИрд░-рдореМрдЬреВрдж рддрд░реАрдХреЛрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
 var object=Proxy.create({ get:function(proxy,name){ return function(){ console.log(name); }; } }); object.test(); //=>"test" object.privet();//=>"privet" 

рдореБрдЭреЗ рдПрдХ рдмрд╛рд░ рд╢рдВрдХрд╛ рд╣реБрдИ рдХрд┐ рдРрд╕реА рдХреЛрдИ рд╡рд╕реНрддреБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА :)
Proxy.createFunction рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ , рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рдФрд░ рдХрдИ рдЕрдиреНрдп рдЙрдкрд╣рд╛рд░ред
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдпрд╣рд╛рдБ рдЪрд┐рддреНрд░рд┐рддред

рд╕реЗрдЯ, рдирдХреНрд╢рд╛ рдФрд░ рдХрдордЬреЛрд░ рдирдХреНрд╢рд╛


рд╕реНрдЯреЛрд░ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдореИрдк рдФрд░ рд╡реАрдХреАрдкреЙрдкрд░ рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдХреБрдВрдЬреА рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, WeakMap рдорд╛рдирдЪрд┐рддреНрд░ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреБрдВрдЬреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреЗ рд╕рднреА рд╕рдВрджрд░реНрдн рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рд░рдгреА рд╕реЗ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рднреА рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, V8, Map рдФрд░ WeakMap рдПрдХ рдФрд░ рд╕рдорд╛рди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдиреЗ рдЕрднреА рддрдХ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
 var st=new Set; st.add(5); st.add(5); console.log(st.has(5));//=>true st.delete(5); console.log(st.has(5));//=>false st.add(console); console.log(st.has(console));//=>true var map=new WeakMap; var obj={foo:"bar"}; map.set(obj,"val"); console.log(map.get(obj));//=>"val" map.delete(obj); console.log(map.get(obj));//=>undefined 


рдЯрд╛рдЗрдкреЛ null


 // console.log(typeof null);//=>"object" // console.log(typeof null);//=>"null" 

рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдХреНрд╖рдг рд╣реИред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП - рдзрд░реНрдо рдХреЗ рдЭрдВрдбреЗ рдореЗрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ --harmony_typeof рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдореЙрдбреНрдпреВрд▓


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



рдЭрдВрдбреЗ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА :) :) deps / v8 / src / flag-definitions.h рдореЗрдВ рдЭрдВрдбреЗ рд╕рд╣реА рдереЗ , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рднрд╛рдЬрди рдХреЗ рджреЛрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдореИрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рднреА рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рд╕реНрд╡реАрдХреГрддрд┐ рдЕрднреА рднреА рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ ( tyk , tyk , tyk , tyk , tyk , рдЖрджрд┐) рдЕрднреА рддрдХ V8 рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦрд░рд╛рдм рд╣реИ :)

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


All Articles