рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдмрдЬрд╛рдп рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред ReactJS рдХреА рд╕рдлрд▓рддрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреА рдЕрдЧрд▓реА рд▓рд╣рд░ рдкрд░, рд░рдЪрдирд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рд╕рд╛рдордиреЗ рдЖрдИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд▓реЗрдЖрдЙрдЯ рд╣реИ, рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг, рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдХрд┐ рдХрд┐рддрдирд╛ рдЕрд░реНрдердкреВрд░реНрдг рд▓рд╛рд▓рд┐рддреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд▓рд╛рдЧрдд (рд╕реНрдкреЙрдЗрд▓рд░: рдПрдХ рдмрд╣реБрдд) рд╣реИред
рд╡рд╛рд╕рд┐рд▓реА рдХреИрдВрдбрд┐рдВрд╕реНрдХреА - "рд░рдЪрдирд╛ рдПрдХреНрд╕"рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рдлрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд░реНрд╖реЛрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рд╢реИрдХреНрд╖рдгрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдФрд╕рдд рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдПрдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЕрд╕рдВрддреБрд▓рди рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдХрдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдирд╛ рд╣реИред рдпрд╣ рджреБрд░реБрдкрдпреЛрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрддрд┐рднрд╛рд░рд┐рдд рдЖрдзрд╛рд░ рд╡рд░реНрдЧ
рдирд╛рдЬреБрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмрджрд▓рд╛рд╡ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╡рд╕реНрддреБрддрдГ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЖрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдХрдИ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рддрд░реНрдХ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд░рд╛рд╕рдд рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ - рдореВрд▓ рд╡рд░реНрдЧреЛрдВ рдХреЗ рддрд░реНрдХ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╡рд╛рд░рд┐рд╕реЛрдВ рдореЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореВрд▓ рд╡рд░реНрдЧреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмреАрдЪ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓реЗрдХрд┐рди, рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рдкреВрд░реНрдг рдирд╣реАрдВред
mail.mozilla.org/pipermail/es-discuss/2013-June/031614.htmlрдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдХрд╛рдлреА рдЧрд╣рд░реА рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рддреЗ рд╣реБрдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдХрд┐рд╕реА рднреА рдЗрдХрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЕрдкрдиреЗ рд╕рднреА рдкреВрд░реНрд╡рдЬреЛрдВ рдХреЛ рдЕрдкрдиреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдЕрдкрдиреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ рдпрд╛ рдирд╣реАрдВред рдПрд░рд▓рд╛рдВрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдЬреЛ рдЖрд░реНрдорд╕реНрдЯреНрд░рд╛рдВрдЧ рдХреЗ рд╣рд▓реНрдХреЗ рд╣рд╛рде рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЧреЛрд░рд┐рд▓реНрд▓рд╛ рдФрд░ рдХреЗрд▓рд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛ рдЧрдпрд╛:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдХреА рдХрдореА рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЖрддреА рд╣реИ, рди рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВред рдХреНрдпреЛрдВрдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рд╕рдм рдирд┐рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рд╡реЗ рдЕрдкрдиреЗ рд╕рд╛рде рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рдХреЗрд▓рд╛ рдЪрд╛рд╣рддреЗ рдереЗ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЬреЛ рдорд┐рд▓рд╛ рд╡рд╣ рдерд╛ рдПрдХ рдХреЗрд▓рд╛ рдФрд░ рдкреВрд░реЗ рдЬрдВрдЧрд▓ рдХреЛ рдкрдХрдбрд╝рдирд╛ред
рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдкреВрд░реА рд╕рдордЭ рдирд╣реАрдВ рд╣реИред рдлреНрд░рдВрдЯ-рдПрдВрдб рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдереЛрдбрд╝реА рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЕрдХреНрд╕рд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рд╕рдВрдмрдВрдз рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдлреЛрд░ рдСрдлрд╝ рдЧреИрдВрдЧ рдХреА рд╡рд╛рдЪрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рдЙрд╕ рд░рдЪрдирд╛ рдХреЛ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП, рдорд╣рд╛рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкреНрд░реЗрд░рдгрд╛рджрд╛рдпрдХ рдЬреНрдЮрд╛рди рдкрд░ рдПрдХ рдЪрд╛рд▓ рднреА рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЧрддрд┐рд╢реАрд▓ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рд╣рдо рддреАрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд░рдЪрдирд╛ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдХрддреНрд░реАрдХрд░рдг ,
рд╕рдВрдШрдирди, рдФрд░
рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ ред рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдкреГрдердХреНрдХрд░рдг рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд╡рд╕реНрддреБ рд░рдЪрдирд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдореЗрдВ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рдкреНрд░рдХреГрддрд┐ рд╣реИ, рдЬрдмрдХрд┐ рдЗрди рд╢рдмреНрджреЛрдВ рдХреЗ рдЕрд░реНрде рдореЗрдВ рдЪреМрд░рд╛рд╣реЗ рд╣реИрдВ, рдЬреЛ рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ (рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд░рд╛рд╕рдд) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХрд╛ рд▓рд╛рдЗрд╡ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдПрдХрддреНрд░реАрдХрд░рдг рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдЕрд╕рдВрдЦреНрдп рд╕рдВрдШ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕрднрд┐рдЧрдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдПрд░реЗ, рдЯреНрд░реА, рдЧреНрд░рд╛рдл рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг DOM рдЯреНрд░реА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд░рдЪрдирд╛ рдХреА рдореБрдЦреНрдп рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдЗрд╕рдХреА рд░рдЪрдирд╛ рдХрд╛ рдХрд╛рд░рдг рд░рдЪрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред
рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬреЛ рдПрдХ рдордирдорд╛рдирд╛ рджреГрд╢реНрдп рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реИрд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
const styles = [ { fontSize: '12px', fontFamily: 'Arial' }, { fontFamily: 'Verdana', fontStyle: 'italic', fontWeight: 'bold' }, { fontFamily: 'Tahoma', fontStyle: 'normal'} ];
рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╢реИрд▓реА рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрд╕рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Array.prototype.map () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╕рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдорд╛рдиреЛрдВ рдХреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const getFontFamily = s => s.fontFamily; styles.map(getFontFamily)
рдХреЙрдиреНрдЯреИрдЯреЗрдиреЗрд╢рди рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдирдП рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Redux рдХрд╛рдо рдореЗрдВ рд░рд╛рдЬреНрдп reducersред рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд░рд╛рдЬреНрдп рд╡рд╕реНрддреБ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд░ рдбреЗрдЯрд╛, рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЦреЛ рдЧрдпрд╛ рд╣реИ рдЕрдЧрд░ рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдХреЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const concatenate = (a, s) => ({тАжa, тАжs}); styles.reduce(concatenate, {})
рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реИрд▓реА рдХреЗ рдореВрд▓реНрдп рдЕрдВрддрддрдГ рдкрд┐рдЫрд▓реЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдВрдЧреЗред
рдЬрдм рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╡рд╕реНрддреБ рджреВрд╕рд░реЗ рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИрдВред рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рд░рдгреА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдкрддреНрддрд┐ рдпрд╛ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рдХреЙрд▓ рдХреЛ Array.prototype рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ Object.prototype рд╕реЗ рдЖрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рддрдВрддреНрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд░рдЪрдирд╛ рдХрд╛ рдПрдХ (рдЖрд╢реНрдЪрд░реНрдп) рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдкреНрд░рддрд┐рдирд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╢реИрд▓реА рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╕рдВрдпреЛрдЬрди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const delegate = (a, b) => Object.assign(Object.create(a), b); styles.reduceRight(delegate, {})
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЧреБрдг рдЕрднрд┐рд╡рд░реНрдзрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Object.keys () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рддрдХ рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рдкрд╣реБрдБрдЪ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реБрд▓рдн рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрдВ рджреЗрддрд╛ рд╣реИ рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИред
рдЕрдм рдмрд╛рд░реА рд╣реИред рдПрдХ рдорд╛рдорд▓реЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреЗ рдмрдЬрд╛рдп рд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ рд╡рд╣
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд╛рдЗрдХрд▓ рд░рд╛рдЗрдЬ рдХреА
рд╡рд╕реНрддреБ рд░рдЪрдирд╛ рдореЗрдВ рд╣реИ ред рдпрд╣рд╛рдБ, рд▓реЗрдЦрдХ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рддреНрд░реЛрдВ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдПрдХ рдпреЛрджреНрдзрд╛ рдФрд░ рдПрдХ рдЬрд╛рджреВрдЧрд░, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдПрдХ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИред рдпреЗ рдЧреБрдг рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдореВрд▓ рд╡рд░реНрдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
class Character { constructor(name) { this.name = name; this.health = 100; } }
рдпреЛрджреНрдзрд╛ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╣рдбрд╝рддрд╛рд▓ рдХрд░рдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрд╕рдХреА рд╕рд╣рдирд╢рдХреНрддрд┐ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЬрд╛рджреВрдЧрд░ - рдордВрддреНрд░ рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдорди рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ред
class Fighter extends Character { constructor(name) { super(name); this.stamina = 100; } fight() { console.log(`${this.name} takes a mighty swing!`); this.stamina - ; } } class Mage extends Character { constructor(name) { super(name); this.mana = 100; } cast() { console.log(`${this.name} casts a fireball!`); this.mana - ; } }
рдХреИрд░реЗрдХреНрдЯрд░ рдХреЗ рд╡рдВрд╢рдЬ рдлрд╛рдЗрдЯрд░ рдФрд░ рдореИрдЬ рдХреНрд▓рд╛рд╕реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬрдм рдкрд╛рд▓рдбрд┐рди рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдирдпрд╛ рдЪрд░рд┐рддреНрд░ рд▓рдбрд╝рд╛рдИ рдФрд░ рд╢рдВрдХрд╛рд▓реБ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╣реИред рдСрдлрд╣реИрдВрдб рдЖрдк рдХреБрдЫ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдиреБрдЧреНрд░рд╣ рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
- рдЖрдк рдкрд╛рд▓рд╛рджреАрди рдХреЛ рдЪрд░рд┐рддреНрд░ рдХрд╛ рд╡рдВрд╢рдЬ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦрд░реЛрдВрдЪ рд╕реЗ рдЙрд╕рдореЗрдВ рд▓рдбрд╝рд╛рдИ () рдФрд░ рдХрд╛рд╕реНрдЯ () рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, DRY рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Mage рдФрд░ рд▓рдбрд╝рд╛рдХреВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
- рд▓рдбрд╝рд╛рдИ () рдФрд░ рдХрд╛рд╕реНрдЯ () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЪрд╛рд░реНрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рддреАрдиреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рддреНрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реЛрдВред рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпреЛрджреНрдзрд╛ рдХреЗ рд▓рд┐рдП рд▓рдбрд╝рд╛рдИ () рд╡рд┐рдзрд┐ рдФрд░ рдпреЛрджреНрдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд╕реНрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЙрдиреНрд╣реЗрдВ рдЦрд╛рд▓реА рд╕реНрдЯрдмреНрд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдХрд┐рд╕реА рднреА рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдкреЛрд╕реНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╣рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╡рд░реНрдгреЛрдВ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреА рд╣реИрдВ - рд▓рдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдлрд╝реИрдХреНрдЯреНрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЪрд░рд┐рддреНрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд╛рдЬреНрдп рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рд╕рдВрдШрдЯрди)ред
const canCast = (state) => ({ cast: (spell) => { console.log(`${state.name} casts ${spell}!`); state.mana - ; } }) const canFight = (state) => ({ fight: () => { console.log(`${state.name} slashes at the foe!`); state.stamina - ; } })
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЪрд░рд┐рддреНрд░ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЧреБрдг, рджреЛрдиреЛрдВ рд╕рд╛рдорд╛рдиреНрдп (рдирд╛рдо рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп), рдФрд░ рдирд┐рдЬреА (рд╕рд╣рдирд╢рдХреНрддрд┐ рдФрд░ рдорди)ред
const fighter = (name) => { let state = { name, health: 100, stamina: 100 } return Object.assign(state, canFight(state)); } const mage = (name) => { let state = { name, health: 100, mana: 100 } return Object.assign(state, canCast(state)); } const paladin = (name) => { let state = { name, health: 100, mana: 100, stamina: 100 } return Object.assign(state, canCast(state), canFight(state)); }
рд╕рдм рдХреБрдЫ рд╕реБрдВрджрд░ рд╣реИ - рдПрдХреНрд╢рди рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдХрд┐рд╕реА рднреА рдирдП рдЪрд░рд┐рддреНрд░ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдХрд┐рд╕реА рдПрдХ рд╡рд╕реНрддреБ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдлреБрд▓рд╛рдП рдмрд┐рдирд╛ред рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдкрдврд╝реЗрдВ) рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдорд╛рдзрд╛рдиред рдирд┐рд░реНрдорд┐рдд рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рд▓рд╛рдЦрд╡реАрдВ рд╕реЗрдирд╛ рдмрдирд╛рдПрдВред
var inheritanceArmy = []; for (var i = 0; i < 1000000; i++) { inheritanceArmy.push(new Fighter('Fighter' + i)); inheritanceArmy.push(new Mage('Mage' + i)); } var compositionArmy = []; for (var i = 0; i < 1000000; i++) { compositionArmy.push(fighter('Fighter' + i)); compositionArmy.push(mage('Mage' + i)); }
рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмреАрдЪ рд╕реНрдореГрддрд┐ рдФрд░ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд▓рд╛рдЧрддреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред

рдФрд╕рддрди, рд╕рдВрдШрдирди рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП 100тАУ150% рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рд╕реНрддреБрдд рдкрд░рд┐рдгрд╛рдо NodeJS рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗ, рдЖрдк рдЗрд╕
рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЪрд▓рд╛рдХрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░-рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рд▓рд╛рдн, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рдкрд╣реБрдВрдЪ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╕реНрдореГрддрд┐ рдХреЛ рдмрдЪрд╛рдХрд░ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЗрдВрдЬрди рдЕрдиреБрдХреВрд▓рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдХреЙрдиреНрдЯреЗрдХреНрдЯреЗрд╢рди-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдорд╣рдВрдЧреА Object.assign () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд░реЛрдорд┐рдпрдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ - рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдЧреЗрдХреЛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реИ, рдЬрдм рдЬрдЯрд┐рд▓ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╢реНрд░рдорд╕рд╛рдзреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рддрддреНрд╡реЛрдВ рдХреЗ рдЖрднрд╛рд╕реА рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдпрд╛ рдЧреНрд░рд╛рдлрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рд╕реБрдВрджрд░рддрд╛, рдЗрд╕рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕рд╛рджрдЧреА рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдЕрдВрддрд░ рдПрдХ рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддрд╛ рд╣реИ (рдбреЛрдо рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд▓рдЧреЗрдВрдЧреЗ)ред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░рдЪрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдЕрджреНрд╡рд┐рддреАрдп рдФрд░ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдиреНрдп рдирд╣реАрдВ рд╣реИрдВред рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЧ рд╡рд┐рд░рд╛рд╕рдд (рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдХреЛрдИ рднреА рд╕рдВрдпреЛрдЬрди рдПрдХ рд░реВрдк рдпрд╛ рд░рдЪрдирд╛ рдХрд╛ рджреВрд╕рд░рд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдВрддрддрдГ рдкрд░рд┐рдгрд╛рдореА рд╕рдорд╛рдзрд╛рди рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреА рдХреЗрд╡рд▓ рд╕рд╛рджрдЧреА рдФрд░ рд▓рдЪреАрд▓рд╛рдкрди рд╣реЛрдЧрд╛ред