рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреИрд╢рд┐рдВрдЧ рдФрд░ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░

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



рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ


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

const functionOne = function() { alert('Hello world!'); }; const functionTwo = function() { alert('Hello world!'); }; functionOne === functionTwo; // false 

рдЕрдм рдПрдХ рдореМрдЬреВрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреВрд╕рд░реЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрди рджреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

 const functionThree = function() { alert('Hello world!'); }; const functionFour = functionThree; functionThree === functionFour; // true 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рд╕рдЦреНрдд рд╕рдорд╛рдирддрд╛ рдСрдкрд░реЗрдЯрд░ true ред
рд╡рд╕реНрддреБрдПрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВ:

 const object1 = {}; const object2 = {}; const object3 = object1; object1 === object2; // false object1 === object3; // true 

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

рдСрдмреНрдЬреЗрдХреНрдЯ 1 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрддреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдХрдорд╛рдВрдб object2 = {} рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди object2 = {} рдПрдХ рдЕрдиреНрдп рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрд╡рдВрдЯрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ object2 рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ obect1 рдФрд░ object2 рдПрдХ рд╣реА рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ object2 рд╣реИрдВ? рдирд╣реАрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЕрдкрдирд╛ рдкреНрд▓рд╛рдЯ рд╣реИред рдЗрд╕реАрд▓рд┐рдП рдЬрдм рд╣рдо object1 рдФрд░ object2 рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ object2 рддреЛ рд╣рдо false ред рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрдореЛрд░реА рдореЗрдВ рдкрддреЗ рдЬрд╣рд╛рдВ рд╡реЗ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рддреБрд▓рдирд╛ рдХреЗ рджреМрд░рд╛рди рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИред

рдХрдорд╛рдВрдб object3 = object1 1 рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ, рд╣рдо object3 = object1 рдХреЗ рдкрддреЗ рдХреЛ object1 object3 рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ object3 ред рдпрд╣ рдХреЛрдИ рдирдИ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 const object1 = { x: true }; const object3 = object1; object3.x = false; object1.x; // false 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдкрддрд╛ рд╕реНрдерд┐рд░ object1 рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рд╡рд╣реА рдкрддрд╛ рд╕реНрдерд┐рд░ object3 рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ 3 рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдореЛрд░реА рдореЗрдВ рдмрджрд▓ object3 ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрд┐рд╕реА рд╡рд╕реНрддреБ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ 1 рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдлрд╝рдВрдХреНрд╢рдВрд╕, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рд░рд┐рдПрдХреНрдЯ


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

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

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд╛рдирдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдШрдЯрдХреЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ рдХреЗрд╡рд▓ == рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреА рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрдирдХреА рд╕рдорд╛рдирддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреА "рдЙрдерд▓реЗ" рдпрд╛ "рдЧрд╣рд░реА" рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЙрдерд▓реЗ рддреБрд▓рдирд╛ рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкрддреЗ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн)ред рд╡рд╕реНрддреБрдУрдВ рдХреА "рдЧрд╣рд░реА" рддреБрд▓рдирд╛ рдФрд░ рднреА рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддреБрд▓рдирд╛рддреНрдордХ рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдп рднреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ, рддреЛ рд╡реЗ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдореБрдЦ-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреА рддреБрд▓рдирд╛ рднреА рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░рд┐рдПрдХреНрдЯ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рд▓рд┐рдВрдХ рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рдкрддреНрд░ { x: 1 } рдХреЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЧрдП рдШрдЯрдХ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдЬреИрд╕реА рд▓рдЧрддреА рд╣реИ, рддреЛ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ, рдЬрдм рдПрдХ рдШрдЯрдХ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ object3 рд╕реЗ object1 рдореЗрдВ object3 , рддреЛ рд░рд┐рдПрдХреНрдЯ рдРрд╕реЗ рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЪреВрдВрдХрд┐ object1 рдСрдмреНрдЬреЗрдХреНрдЯ object1 рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ 3 рдПрдХ рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд╡рд╣реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрддреЗ рдЕрд▓рдЧ рд╣реИрдВ, рддреЛ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ "рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди" рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рддреЛ рдХреЛрдИ рдкреБрди: рд░реЗрдВрдбрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛


рдпрд╣рд╛рдВ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ, рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп рд▓рдЧрд╛рддрд╛рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ:

 class SomeComponent extends React.PureComponent { get instructions() {   if (this.props.do) {     return 'Click the button: ';   }   return 'Do NOT click the button: '; } render() {   return (     <div>       {this.instructions}       <Button onClick={() => alert('!')} />     </div>   ); } } 

рд╣рдорд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдШрдЯрдХ рд╣реИред рдпрд╣ рдПрдХ рдмрдЯрди рд╣реИ, рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдмрдЯрди рдХреЗ рдЖрдЧреЗ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд do={false} SomeComponent рдХрдВрдкреЛрдиреЗрдВрдЯ SomeComponent ( do={true} рдпрд╛ do={false} ) рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрдВрдбрд┐рдХреЗрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ SomeComponent ред

рд╣рд░ рдмрд╛рд░ рдЬрдм SomeComponent рдШрдЯрдХ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм do рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдореВрд▓реНрдп true рд╕реЗ false рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ), Button рддрддреНрд╡ рднреА рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред onClick рд╣реИрдВрдбрд▓рд░, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ, render рдлрд╝рдВрдХреНрд╢рди рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдШрдЯрдХ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг render рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдореГрддрд┐ рдореЗрдВ рдирдП рдкрддреЗ рдХрд╛ рд▓рд┐рдВрдХ <Button /> рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж Button рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред

рдЖрдЗрдП рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рдирд╛


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

 const createAlertBox = () => alert('!'); class SomeComponent extends React.PureComponent { get instructions() {   if (this.props.do) {     return 'Click the button: ';   }   return 'Do NOT click the button: '; } render() {   return (     <div>       {this.instructions}       <Button onClick={createAlertBox} />     </div>   ); } } 

рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, createAlertBox , render рдХрд░рдиреЗ рдХреЗ render рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде, рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд▓рд┐рдВрдХ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░реЗрдЧрд╛ред рдирддреАрдЬрддрди, Button рджреЛрд╣рд░рд╛рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

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

 class SomeComponent extends React.PureComponent { createAlertBox = () => {   alert(this.props.message); }; get instructions() {   if (this.props.do) {     return 'Click the button: ';   }   return 'Do NOT click the button: '; } render() {   return (     <div>       {this.instructions}       <Button onClick={this.createAlertBox} />     </div>   ); } } 

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

рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдлрд╝рдВрдХреНрд╢рди рдЧрддрд┐рд╢реАрд▓ рд╣реИрдВ?

рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди


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

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдмреЗрд╣рдж рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдХрдИ рдЕрджреНрд╡рд┐рддреАрдп, рдЧрддрд┐рд╢реАрд▓ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ render рд╡рд┐рдзрд┐ рдореЗрдВ map рдРрд░реЗ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 class SomeComponent extends React.PureComponent { render() {   return (     <ul>       {this.props.list.map(listItem =>         <li key={listItem.text}>           <Button onClick={() => alert(listItem.text)} />         </li>       )}     </ul>   ); } } 

рдпрд╣рд╛рдВ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЯрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░, рдЕрдЧреНрд░рд┐рдо рдореЗрдВ, рдЬрдм SomeComponent рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рд╣реЛрдВрдЧреЗред рдЗрд╕ рдкрд╣реЗрд▓реА рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ?

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

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

 class SomeComponent extends React.PureComponent { //    SomeComponent        //   . clickHandlers = {}; //       //    . getClickHandler(key) {   //       ,  .   if (!Object.prototype.hasOwnProperty.call(this.clickHandlers, key)) {     this.clickHandlers[key] = () => alert(key);   }   return this.clickHandlers[key]; } render() {   return (     <ul>       {this.props.list.map(listItem =>         <li key={listItem.text}>           <Button onClick={this.getClickHandler(listItem.text)} />         </li>       )}     </ul>   ); } } 

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

рдирддреАрдЬрддрди, SomeComponent рдХрд╛ рдкреБрди: рдкреНрд░рддрд┐рдкрд╛рджрди Button рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕реА рддрд░рд╣, list рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрдЧрд╛ред

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

рдпрд╣рд╛рдБ рдореИрдВ рдЖрдкрдХреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рдгреА рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдХреБрдЫ рддрддреНрд╡ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкрд╣рд▓реЗ рдПрдХ рд╕рдорд╛рди рд╕рд░рдгреА рджрд┐рдЦрддреА рдереА рддреЛ [ 'soda', 'pizza' ] , рдФрд░ рдлрд┐рд░ [ 'pizza' ] рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдФрд░ рдЖрдкрдиреЗ listeners[0] = () => alert('soda') рдПрдХ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рдХреИрд╢ рдХрд░ рджрд┐рдпрд╛ред listeners[0] = () => alert('soda') , рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ 0 рдХреЗ рд╕рд╛рде рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬреЛ рдХрд┐, [ 'pizza' ] рдРрд░реЗ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, pizza рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ soda рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧрд╛ред рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ, рд╕рд░рдгреА рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рдкреНрд░рдореБрдЦ рдЧреБрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред

рдкрд░рд┐рдгрд╛рдо


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

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

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


All Articles