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

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

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

рдЕрдЧрд▓рд╛ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ V8 рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрд░реЛрдо рдФрд░ рдиреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЛрдЬрд╝рд┐рд▓рд╛ рдХрд╛ рд╕реНрдкрд╛рдЗрдбрд░рдореЙрдиреНрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди, рдЬреЛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░
рд╕реНрдкрд╛рдЗрдбрд░рдиреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рджреЛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИрдВред рджреБрднрд╛рд╖рд┐рдпрд╛ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдХрд▓рдХ (рдмреЗрд╕рд▓рд╛рдЗрди рд╕рдВрдХрд▓рдХ) рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, IonMonkey рд╕рдВрдХрд▓рдХ рднрд╛рд░реА-рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕рдЯреНрдЯрд╛ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ IonMonkey рдмреЗрд╕рд▓рд╛рдЗрди рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдЪрдХреНрд░ - рдПрдЬ рдФрд░
рдиреЛрдб- рдЪрдХреНрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди, рдПрдХ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдФрд░ рджреЛ рдЕрдиреБрдХреВрд▓рди рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреБрднрд╛рд╖рд┐рдпрд╛ SimpleJIT рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ (рдЬрд╣рд╛рдБ JIT рдХрд╛ рдЕрд░реНрде рд╣реИ тАЬрдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо рдХрдВрдкрд╛рдЗрд▓рд░тАЭ, рдЬреЛ рдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рд╣реИред рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, FullJIT рдФрд░ рднреА рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

JavaScriptCore (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ JSC), Apple рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдлрд╛рд░реА рдФрд░ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрдХреВрд▓рди рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реЛрддреЗ рд╣реИрдВред LLInt рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░ рдХрд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬреЛ рдмреЗрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ DFG (рдбреЗрдЯрд╛ рдлреНрд▓реЛ рдЧреНрд░рд╛рдл) рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА FTL (рдлрд╛рд╕реНрдЯрд░ рдерд╛рди рд▓рд╛рдЗрдЯ) рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрддрд╛ рд╣реИред
рдХреБрдЫ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рд╕рдВрдХрд▓рдХ рдХреНрдпреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ? рдпрд╣ рд╕рднреА рд╕рдордЭреМрддрд╛ рд╣реИред рджреБрднрд╛рд╖рд┐рдпрд╛ рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреЗрд▓реЗ рдмрд╛рдпреЛрдЯреЗрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрдХрд▓рди, рдереЛрдбрд╝реА рджреЗрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдорд╢реАрди рдХреЛрдб рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдХреЛрдб (рджреБрднрд╛рд╖рд┐рдпрд╛) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рдЕрдзрд┐рдХрддрдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИ (рд╕рдВрдХрд▓рдХ рдХрд╛ рдЕрдиреБрдХреВрд▓рди)ред рдХреБрдЫ рдЗрдВрдЬрди рд╕рдордп рдФрд░ рджрдХреНрд╖рддрд╛ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪреБрдирддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдордЭреМрддрд╛ рд╕рдорд╛рдзрд╛рди рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрдЯрд┐рд▓рддрд╛ рдХреА рд▓рд╛рдЧрдд рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдФрд░ рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рд╣реИ, рдПрдХ рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдЗрд╕
рд▓реЗрдЦ рдХреЛ
рджреЗрдЦреЗрдВ ред
рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИред рдЗрди рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдВрддрд░реЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕рдорд╛рди рд╣реИ: рдЗрди рд╕рднреА рдореЗрдВ рдПрдХ рдкрд╛рд░реНрд╕рд░ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ / рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБ рдореЙрдбрд▓рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдореЗрдВ рдФрд░ рдХреНрдпрд╛-рдХреНрдпрд╛ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗ рдХреМрди-рд╕реА рддрд░рдХреАрдмреЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╕рднреА рдореБрдЦреНрдп рдЗрдВрдЬрди рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред
ECMAScript рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ
рдЧреБрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛
рд╣реИ ред

[[Value]]
, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
[[Writable]]
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;[[Enumerable]]
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ;[[Configurable]]
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдВрдХрди
[[ ]]
рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рджреА рдЧрдИ рд╡рд╕реНрддреБ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ
Object.getOwnPropertyDescriptor
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреЗ рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const object = { foo: 42 }; Object.getOwnPropertyDescriptor(object, 'foo');
рдареАрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдЖрдк рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд╕реВрдЪрдХрд╛рдВрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдПрдХ рд╕рд░рдгреА рдЗрдВрдбреЗрдХреНрд╕ ECMAScript рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢рдмреНрдж рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рд╣реИ - 2 1 - 1 рддрдХред рдПрдХ рд╕рд░рдгреА рдЗрдВрдбреЗрдХреНрд╕ рдЗрд╕ рд░реЗрдВрдЬ рд╕реЗ рдХреЛрдИ рднреА рдЙрдкрд▓рдмреНрдз рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рдЬреЛ рдХрд┐ 0 рд╕реЗ 2 is - 2 рддрдХ рдХрд┐рд╕реА рднреА рдкреВрд░реНрдгрд╛рдВрдХ рдореВрд▓реНрдп рд╣реИред
рдПрдХ рдФрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ
length
рдХреА рдЬрд╛рджреБрдИ рд╕рдВрдкрддреНрддрд┐
length
ред
const array = ['a', 'b']; array.length;
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реГрдЬрди рдХреЗ рд╕рдордп рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ 2 рд╣реИред рдлрд┐рд░ рд╣рдо 2 рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рддрддреНрд╡ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмрд╛рдИ рдЕрдкрдиреЗ рдЖрдк рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рдгреА рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рд╕рд╣рд┐рдд рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рдХреБрдВрдЬреА '0' рдХреЗ рддрд╣рдд рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

length
рд╕рдВрдкрддреНрддрд┐ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬреЛ рдЧреИрд░-рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рдФрд░ рдЧреИрд░-рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИред
рдЬреИрд╕реЗ рд╣реА рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ
length
рд╕рдВрдкрддреНрддрд┐
[[Value]]
рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░рдгрд┐рдпрд╛рдБ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВред
рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрдХреВрд▓рдирдЕрдм рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЗрдП рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЖрдкрдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреИрд╕реЗ рджреЗрддреЗ рд╣реИрдВред
рд░реЛрдЬрдорд░реНрд░рд╛ рдХреА рдЬрд┐рдВрджрдЧреА рдореЗрдВ, рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдмрд╕реЗ рдЖрдо рдСрдкрд░реЗрд╢рди рд╣реИред рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд▓реНрджреА рдХрд░рдирд╛ рдмреЗрд╣рдж рдЬрд░реВрд░реА рд╣реИред
const object = { foo: 'bar', baz: 'qux', };
рдЖрдХрд╛рд░рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ, рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдВрдкрддреНрддрд┐ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрдо рдмрд╛рдд рд╣реИред рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛
рдЖрдХрд╛рд░ рдПрдХ рдЬреИрд╕рд╛
рд╣реЛрддрд╛ рд╣реИ ред
const object1 = { x: 1, y: 2 }; const object2 = { x: 3, y: 4 };
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдо рдпрд╛рдВрддреНрд░рд┐рдХреА рдПрдХ рд╣реА рд░реВрдк рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ:
function logX(object) { console.log(object.x);
рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЕрдкрдиреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЧреБрдг x рдФрд░ y рдХреЗ рд╕рд╛рде рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рддреЛ рдпрд╣ рд╢рдмреНрджрдХреЛрд╢ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдмрд╛рдд рдХреА рдереА; рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп рддрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЧреБрдгреЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐
object.y,
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреБрдВрдЬреА
'y'
рд╕рд╛рде рдПрдХ JSObject рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреНрд╡реЗрд░реА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ
[[Value]]
рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрди рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ JSObject рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдлреЙрд░реНрдо рдХреЗ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, JSObject рдореЗрдВ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╕рдВрдкреВрд░реНрдг рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рдПрдХ рд╣реА рдлреЙрд░реНрдо рдХреА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджреЛрд╣рд░рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░ рд╕реНрдореГрддрд┐ рдХреА рдЧрд▓рдд рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рдЗрдВрдЬрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕
Shape
рдореЗрдВ
[[Value]]
рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдлрд╝реЙрд░реНрдо рдореЗрдВ JSObject рдХреЗ рдЕрдВрджрд░ рдСрдлрд╕реЗрдЯ рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ JSObject рдлреЙрд░реНрдо рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдм рдкреНрд░рддреНрдпреЗрдХ JSObject рдХреЛ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред

рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд╕реНрддреБрдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдлрд╛рдпрджрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдлреЙрд░реНрдо рд╣реИ, рддреЛ рд╣рдо рдлреЙрд░реНрдо рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ
shapes
рд░реВрдк рдореЗрдВ рдирд╛рдо рдирд╣реАрдВ рджреЗрддреЗ
shapes
:
- рд╢реИрдХреНрд╖рдгрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЙрдиреНрд╣реЗрдВ рд╣рд┐рдбрди рдХреНрд▓рд╛рд╕реЗрд╕ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдорд╛рди) рдХрд╣рддреЗ рд╣реИрдВ;
- V8 рдЙрдиреНрд╣реЗрдВ рдореИрдкреНрд╕ рдХрд╣рддрд╛ рд╣реИ;
- рдЪрдХреНрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдХрд╛рд░ рдХрд╣рддрд╛ рд╣реИ;
- JavaScriptCore рдЙрдиреНрд╣реЗрдВ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдХрд╣рддрд╛ рд╣реИ;
- рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рдЙрдиреНрд╣реЗрдВ рдЖрдХреГрддрд┐рдпрд╛рдБ рдХрд╣рддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ
shapes
рджреЗрдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ
shapes
ред
рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ рдкреЗрдбрд╝рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ? рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдПрдХ рдирдП рд░реВрдк рдХреЛ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ?
const object = {}; object.x = 5; object.y = 6;
рдкреНрд░рдкрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдореЗрдВ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ рд╢реБрд░реВ рдореЗрдВ рдХреЛрдИ рдЧреБрдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ; рдпрд╣ рдПрдХ рдЦрд╛рд▓реА рд░реВрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдирд┐рдореНрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдорд╛рди 5 рдХреЗ рд╕рд╛рде рд╕рдВрдкрддреНрддрд┐
'x'
рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдлрд┐рд░ рдЗрдВрдЬрди рдЙрд╕ рдлреЙрд░реНрдо рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдкрддреНрддрд┐
'x'
рдФрд░ рдорд╛рди 5 рдХреЛ рдкрд╣рд▓реА рдСрдлрд╕реЗрдЯ рдореЗрдВ JSObject рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╕рдВрдкрддреНрддрд┐
'y'
рдЬреЛрдбрд╝рддреА рд╣реИ, рдлрд┐рд░ рдЗрдВрдЬрди рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдРрд╕рд╛ рдкреНрд░рдкрддреНрд░ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
'x'
рдФрд░
'y'
, рдФрд░ рдСрдлрд╕реЗрдЯ 1 рдкрд░ JSObject рдХреЗ рд▓рд┐рдП 6 рдорд╛рди рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдиреЛрдЯ : рдЬрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЧреБрдг рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рд╡рд╣ рдкреНрд░рдкрддреНрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, {x: 4, y: 5} рдХрд╛ рдкрд░рд┐рдгрд╛рдо {y: 5, x: 4} рд╕реЗ рднрд┐рдиреНрди рд░реВрдк рдореЗрдВ рд╣реЛрдЧрд╛ред
рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рд╕рдВрдкрддреНрддрд┐ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдкреНрд░рддреНрдпреЗрдХ рдлреЙрд░реНрдо рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдмрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ 'x' рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдкрддреНрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ
ox
рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ
'x'
рдЧреБрдг рдХреЛ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдПрдХ рдРрд╕реЗ рд░реВрдк рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
'x'
рдЧреБрдг рд╣реИред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЦрд╛рд▓реА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ рдФрд░ рдЖрдк рдЙрдирдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЧреБрдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ?
const object1 = {}; object1.x = 5; const object2 = {}; object2.y = 6;
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ рд╢рд╛рдЦрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд░рдордг рд╡реГрдХреНрд╖ рдорд┐рд▓рддрд╛ рд╣реИ:

рд╣рдо рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ
'x'
рдЧреБрдг рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ
JSObject
рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдПрдХрд▓ рдорд╛рди рдФрд░ рджреЛ рд░реВрдк рд╣реИрдВ: рдЦрд╛рд▓реА рдФрд░ рдПрдХрд▓
'x'
рдЧреБрдг рд╡рд╛рд▓рд╛ рдПрдХ рд░реВрдкред
рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ
b
, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдо рдПрдХ рдФрд░ рдЧреБрдг
'y'
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд░реВрдкреЛрдВ рдХреА рджреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рд╣рдореЗрдВ рддреАрди рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВред
рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╣рдореЗрд╢рд╛ рдПрдХ рдЦрд╛рд▓реА рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ? рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИред рдЗрдВрдЬрди рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВред рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо x рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
x
:
const object1 = {}; object1.x = 5; const object2 = { x: 6 };
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рдЦрд╛рд▓реА рдлреЙрд░реНрдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ
x
рднреА рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдерд╛ред
object2
рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ
object2
рдпрд╣ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реАрдзреЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА x рд╣реИ, рдЬреЛ рдПрдХ рдЦрд╛рд▓реА рд╡рд╕реНрддреБ рдФрд░ рдПрдХ рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реИред

рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдЧреБрдг рдЬрд┐рд╕рдореЗрдВ
'x'
рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде
'x'
рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЦрд╛рд▓реА рдлреЙрд░реНрдо рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ (рдХрдо рд╕реЗ рдХрдо) рдХреНрдпрд╛ V8 рдФрд░ рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рд╣реИред рдЕрдиреБрдХреВрд▓рди рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢рд╛рдмреНрджрд┐рдХ рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреА рд╕реВрдХреНрд╖реНрдорддрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ
рд░рд┐рдПрдХреНрдЯ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЕрджреНрднреБрдд рдмрд╣реБрд░реВрдкрддрд╛ рдкрд░ рдмреЗрдиреЗрдбрд┐рдХреНрдЯ рдХреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдкрдХреЛ рдЧреБрдг
'x'
,
'y'
,
'z'
рд╕рд╛рде рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╡рд╕реНрддреБ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
const point = {}; point.x = 4; point.y = 5; point.z = 6;
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕рдордЭ рдЪреБрдХреЗ рдереЗ, рд╣рдо рдореЗрдореЛрд░реА рдореЗрдВ рддреАрди рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдЦрд╛рд▓реА рдлреЙрд░реНрдо рдХреА рдЧрд┐рдирддреА рдирд╣реАрдВ)ред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА
'x'
рдкреНрд░реЙрдкрд░реНрдЯреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ
point.x
.
point.x
рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЛ рдПрдХ рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдлреЙрд░реНрдо рдХреЛ рдмрд╣реБрдд рдиреАрдЪреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЙрд╕ рдлреЙрд░реНрдо рддрдХ рдмрдврд╝рдирд╛ рдЬреЛ
'x'
рдмрд╣реБрдд рдКрдкрд░ред

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

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