рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд▓реЗрдЦрдХ, рдПрдХ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░, рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рджрд┐рдпрд╛редрдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рдЬрдм рдореИрдВрдиреЗ рдЙрдирдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рд╡реЗ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧ рд░рд╣реЗ рдереЗ: рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд, рдмрд╕ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдФрд░ рдореВрд▓реНрдпред
рдХреБрдЫ рд╕рдордп рдмрд╛рдж рд╣реА рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реЛрдиреЗ рд▓рдЧрд╛ рдХрд┐ рд╡рд┐рд╖рдп рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдиреЗ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рддреБрд░рдВрдд рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрд╛ред
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рдЬреЗрдПрд╕ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдкрд╣рд▓реБрдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдпрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛, рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдорд╣рд╕реВрд╕ рдХрд░реЗрдЧрд╛ред
рддреЛ рдЪрд▓рд┐рдП рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд╡рд╕реНрддреБ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд╡рд╕реНрддреБ рдХреЗрд╡рд▓ рдЧреБрдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рд╣реИред рдбреЙрдЯреЗрдб (
obj.a ) рдпрд╛ рдмреНрд░реИрдХреЗрдЯреЗрдб рдиреЛрдЯреЗрд╢рди (
obj ['a'] ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреБрдВрдЬреА рд╣реЛрдиреЗ рдкрд░ рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдПрдХ рдорд╛рдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрдерд╛рди рд╣реИ, рдПрдХ рдбреИрд╢ рд╣реИ, рдпрд╣ рдПрдХ рдирдВрдмрд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ ...)
- рдПрдХ рдЪрд░ рд╣реИред
рдЬреЗрдПрд╕ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрдирдиреЗ рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЧреБрдг рдХреЛ
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЧреБрдг рд╣реИ рдЬрд┐рд╕реЗ
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдЖрдк рдЗрд╕реЗ
__proto__ рдкрджрдирд╛рдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рддреЛ рдЖрдк рдореЗрдореЛрд░реА рдореЗрдВ рдХреЛрдб рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдмрдирд╛рдХрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ рддреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдПрдХ рд╡рд╕реНрддреБ рд╕реЗ рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдмрдирд╛рддрд╛ рд╣реИред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛рд╣рд░ рдмрд╛рд░ рдЬреЗрдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╣реА рдирд╣реАрдВ рдЦреЛрдЬрддрд╛ рд╣реИ, рдпрд╣ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬреЗрдПрд╕ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдпрд╣ рддрдм рддрдХ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдЬреЗрдПрд╕ рдХреЛ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рдпрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрдд рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ред
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
var cons = function () { this.a = 1; this.b = 2; } var obj = new cons(); </i> cons.prototype.b = 3; cons.prototype.c = 4;
рд╡рд┐рдкрдХреНрд╖ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реИ (рдмрд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ
рдирдП рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдкрд╛рдВрдЪрд╡реАрдВ рдкрдВрдХреНрддрд┐ рдкрд░, рд╣рдо рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ -
рд╡рд┐рдкрдХреНрд╖ рдХреА рдПрдХ рдирдИ рдкреНрд░рддрд┐ред рдмрдирд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж,
obj рдХреЛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рдВрдкрддреНрддрд┐ рднреА рдорд┐рд▓рддреА рд╣реИред
рдФрд░ рдЕрдм рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ (
'рдмреА', 'рд╕реА' ) рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
Obj рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
obj.a // 1 - рд╕рдм рдХреБрдЫ
рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реИ,
obj.a рдЕрднреА рднреА 1 рд╣реИред
obj.c -
obj рдХреЗ рдкрд╛рд╕ рдХреЛрдИ
рд╕реА рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ! рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЗрдПрд╕ рдЕрдм
obj рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ рдФрд░ 4 рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдЕрдм рдЪрд▓рд┐рдП рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐
obj.b рдХрд╛ рдореВрд▓реНрдп рдХреНрдпрд╛
рд╣реИ рдФрд░ рдЬрдм рд╣рдо
obj.b рдХреЛ
рд╣рдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреНрдпрд╛ рдмрди
рдЬрд╛рддрд╛ рд╣реИ ?
Obj.b 2 рд╣реИред рд╣рдордиреЗ рдкреНрд░реЙрдкрд░реНрдЯреА
b рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рд╣рдо
obj.b рдХреА рдЬрд╛рдВрдЪ
рдХрд░рддреЗ рд╣реИрдВ , рддрдм рднреА рд╣рдореЗрдВ 2 рдорд┐рд▓рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐,
obj.b рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж
, JS рдЕрдм o
b рдкрд░
b рдирд╣реАрдВ рдЦреЛрдЬ рдкрд╛рдПрдЧрд╛ред , рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдорд╛рди 3 рд▓реМрдЯрд╛рдПрдВрдЧреЗред
рдЖрдЧреЗ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХ рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╡рд╕реНрддреБ рдирд┐рд░реНрдорд╛рдг
рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ: рдЖрдЬреНрдЮрд╛ рджреЗрдирд╛ obj = {a: 1};рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛:
obj ---> Object.prototype ---> nullрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ,
object.prototyp рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рд╕рд╛рде рд╣реА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЪреЗрди рдХрд╛ рдЕрдВрдд рднреА рд╣реИред
Object.create (): var newObj = Object.create (obj);NewObj рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрдЧреА:
newObj ---> obj ---> Object.prototype ---> nullрдбрд┐рдЬрд╛рдЗрдирд░ред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╕рд┐рд░реНрдл рдПрдХ рдЬреЗрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд╣рдореЗрдВ
рдирдП рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдирдП рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
ES6 рд╡рд░реНрдЧ: class rectangle { constructor(height, width) { this.height = height; this.width = width; } getArea() { return this.height * this.width; } } let square = new rectangle(2, 2);
рд╕реНрдХреНрд╡рд╛рдпрд░ рдЖрдпрдд рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо
square.getArea () // 4 ,
square. рдЙрдкрд▓рдмреНрдзрддрд╛ , рд╕рд╛рде рд╣реА
object.prototype рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреМрди рд╕рд╛ рддрд░реАрдХрд╛ рдмреЗрд╣рддрд░ рд╣реИ? рдпрджрд┐ рдЖрдк рдХрдИ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк ES6 рдпрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╛рд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдмреНрджрд┐рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред
рдФрд░ рдЕрдм, рдЬрдм рд╣рдордиреЗ
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ рдФрд░ рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП, рддреЛ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рдмрд╕реЗ рднреНрд░рд╛рдордХ рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрди рдХрд░рдирд╛
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рд╡рд╕реНрддреБрдПрдБ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░ рдХреА рд╣реЛрддреА рд╣реИрдВрдЬрдм рд╣рдо рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ
рддреЛ obj = {a: 1}; , рдЪрд░
obj рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ! рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрдиреНрдпрдерд╛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЬрдм рд╣рдо рдПрдХ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ
newObj = obj , рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрдореЛрд░реА
рдУрдмреНрдЬ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ
рдкреЙрдЗрдВрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рди рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рдСрдмреНрдЬреЗрдХреНрдЯред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐
newObj.a = 2 рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд
рдХрд░рдХреЗ , рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ
obj рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддрд╛рдХрд┐
obj.a 2 рд╣реЛ рдЬрд╛рдП!
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрд╕рд╛рдиреА рд╕реЗ рдХреАрдбрд╝реЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдИ рдХрдВрдкрдирд┐рдпрд╛рдВ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХ рдирдИ рд╡рд╕реНрддреБ (рдореВрд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐) рдмрдирд╛рдиреА рд╣реЛрдЧреА рдФрд░ рдЙрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рдпрд╣ рд╣реИ рдХрд┐ Redux рдЬреИрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдкрдврд╝реЗрдВ
рдпрд╣рд╛рдБрд╕рдорд╛рдирддрд╛рдКрдкрд░ рд╕реЗ рдпрд╣ рднреА рд╣реИ рдХрд┐ рджреЛ рд╡рд╕реНрддреБрдПрдВ рдХрднреА рднреА рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЙрдирдХреЗ рдЧреБрдг рд╕рдорд╛рди рд╣реЛрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрдерд╛рди рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреЛ рд╡рд╕реНрддреБрдПрдВ рдПрдХ рд╣реА рдореЗрдореЛрд░реА рд╕реЗрд▓ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред
рддреЛ, рдЖрдк рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЛрдЪ рд░рд╣реЗ рдереЗ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЙрдирдХреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред
рдХреБрдЫ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╡рд╕реНрддреБ рдкрд░рд┐рд╡рд░реНрддрдирдорд╛рдирд╛ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рд╣рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
Object.assign () рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред
var obj = { a : 1, b : 2}; var newObj = Object.assign({}, obj,{a:2})
рдпрджрд┐ рд╣рдо
obj рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо
obj рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
object.assign рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░
obj рдорд╛рдиреЛрдВ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ, рдЕрдВрдд рдореЗрдВ рдПрдХ рдирдИ рдФрд░ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдЧрд╣рд░реА рдирдХрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреАред рдЧрд╣рд░реА рдирдХрд▓ рдХреА рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЧреБрдгреЛрдВ рд╕реЗ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
const obj = {a : 1, b : { a : 1 } };
Object.assign () рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рдкреЙрдЗрдВрдЯрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред
рдбреАрдк рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдСрдкрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХреЗрд╡рд▓
рд▓реЛрджрд╢ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ
_.cloneDeep рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╕реНрддреБ рддреБрд▓рдирд╛рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ - рд▓рд╛рдЗрди рд░реВрдкрд╛рдВрддрд░рдгред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рджреЛрдиреЛрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ:
JSON.stringify(obj1) === JSON.stringify(obj2)
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрдЪрд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрдд рдореЗрдВ рд╣рдо рдПрдХ рд╕реВрдЪрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдПрдХ рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдмреБрд░реА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдЖрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред
рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ
рд▓реЛрджрд╢ рд╕реЗ
_.рдЗрд╕рдХреНрд╡рд╛рд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЧрд╣рд░реА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЦрддреНрдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рдЬрд╛рдПрдВред рдпрд╣ рд╡рд┐рд╖рдп рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдЧреНрд░рд╣реАрдд рдЬреНрдЮрд╛рди рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдЙрддреНрддрд░ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рд╕реЛрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ?
рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╡рд╕реНрддреБ рдХреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдЫрд╛рдБрдЯрдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЧрд┐рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
- рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЙрд╕рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рдЧрдгрдиреАрдп рдЧреБрдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИред рд╣рдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП (рдФрд░, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ, рд╕рд╛рдордЧреНрд░реА рд╕реАрдЦреА), рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
- рдСрдмреНрдЬреЗрдХреНрдЯ ред рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдХреА рдЕрдкрдиреА (рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд) рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЧреБрдг рдХреЗ рдЧреБрдг рдХреЛ рдЕрд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ object.keys рдЕрдВрддрддрдГ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ getOwnPropertyNames рдХрд╛рдо рдЖрдПрдЧрд╛ ред
- getOwnPropertyNames рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЕрдкрдиреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ (рджреЛрдиреЛрдВ рдЧрдгрдиреАрдп рдФрд░ рдмреЗрд╢реБрдорд╛рд░)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ:
- Object.values рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧрд┐рдирддреА рдЧреБрдгреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред
- Object.entries рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧрд┐рдирддреА рдЧреБрдгреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рдзрд┐рдпрд╛рдБ рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддреА рд╣реИрдВред рдпрд╣ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдкреВрд░рд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИред
рдРрд╕реА рд╣реА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ
рдЕрд░реЗрдВрдЬрдореЗрдВрдЯ ред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдмрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
let objLength = Object.getOwnPropertyNames(obj).length;
рдпрджрд┐ рдХреЛрдИ рд╡рд╕реНрддреБ рдЦрд╛рд▓реА рд╣реИ рддреЛ рдХреИрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ?
- JSON.stringify (myObj) === "{}" ред рдпрд╣рд╛рдВ рд╣рдо рдлрд┐рд░ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд╕реНрддреБ рдЦрд╛рд▓реА рд╣реИ (рддрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ, рд╡рд╕реНрддреБрдУрдВ рдХреА)ред
- рдСрдмреНрдЬреЗрдХреНрдЯ .keys (myobj) .length // true ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо Array.prototype рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдВрдкрддреНрддрд┐ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВред рдЬреЗрдПрд╕ рдореЗрдВ, 0 рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ ! рд╣рдо рдЗрд╕реЗ рд╕рдЪ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдЕрдиреНрдп рд╕рдВрдЦреНрдпрд╛ рдЭреВрдареА рд╣реЛ рдЬрд╛рдПрдЧреАред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк:
- рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╡рд╕реНрддреБрдПрдБ рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
- рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░реЙрдкрд░реНрдЯреА рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЪреЗрди рд╕реЗ рджреЛрд╕реНрддреА рдХрд░реЗрдВред
- рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рдХреЛ рдЬрд╛рдиреЗрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЛ рддрд╛рд░реЛрдВ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╕ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдорд┐рд▓реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдХрд╛ рд╕реМрднрд╛рдЧреНрдпред
