рдЖрдЬ рд╣рдо V8 рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдиреБрд╡рд╛рдж рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

тЖТ
рдкрд╣рд▓рд╛ рднрд╛рдЧрдЕрдкреНрд░рдЪрд▓рди рдФрд░ рд╡рд╕реНрддреБ рд░реВрдкреЛрдВ рдХрд╛ рдкреНрд░рд╡рд╛рд╕
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ
Smi
, рдФрд░ рдлрд┐рд░ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реБрдИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП
Smi
рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЙрд╕реА рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ
x
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ
Smi
рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
const a = { x: 1 }; const b = { x: 2 };
рдЙрджрд╛рд╣рд░рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЙрд╕реА рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ
x
рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Smi
рд╕реНрд╡рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИрдЬрдм
bx
рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП
Double
рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рддреЛ V8 рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирдП рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ
x
рдХреЛ
Double
рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЬреЛ рдПрдХ рдЦрд╛рд▓реА рдлреЙрд░реНрдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред V8 рднреА
MutableHeapNumber
рдПрдХ рдЗрдХрд╛рдИ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ
x
рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рди 0.2 рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ
b
рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдЗрд╕ рдирдП рд░реВрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрд▓реЙрдЯ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдСрдлрд╕реЗрдЯ 0. рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ
MutableHeapNumber
рдЗрдХрд╛рдИ рдХреЛ
MutableHeapNumber
рд╣реИред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреБрд░рд╛рдиреЗ рд░реВрдк рдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреЗрдбрд╝ рд╕реЗ рдХрд╛рдЯ рджреЗрддреЗ рд╣реИрдВред рд╕рдВрдХреНрд░рдордгред рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдЦрд╛рд▓реА рдлреЙрд░реНрдо рд╕реЗ
'x'
рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕рдВрдХреНрд░рдордг рдмрдирд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╡рд╕реНрддреБ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореВрд▓реНрдп рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдордЗрд╕ рд╕рдордп, рд╣рдо рдкреБрд░рд╛рдиреЗ рдлрд╝реЙрд░реНрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ
a
рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреБрд░рд╛рдиреЗ рд░реВрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕рднреА рдореЗрдореЛрд░реА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реЛрдЧрд╛, рдФрд░ рддреБрд░рдВрдд рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, V8 рдпрд╣рд╛рдБ рдПрдХ "рдЖрд▓рд╕реА" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдпрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рднреА рдСрдкрд░реЗрд╢рди рдкрд╣рд▓реЗ рдПрдХ рдирдП рдлреЙрд░реНрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд
a
ред рдЗрд╕ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреАрдЫреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЕрдВрддрддрдГ рд╡рд╕реНрддреБ рдХреЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд░реВрдк рдХреЛ рдЕрдкреНрд░рд╛рдкреНрдп рдмрдирд╛рдирд╛ рд╣реИред рдЗрд╕рд╕реЗ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдЙрдЯ-рдСрдл-рдлреЙрд░реНрдо рдореЗрдореЛрд░реА рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХреЛ рдореБрдХреНрдд рдХрд░рддреА рд╣реИрд╣рд╛рд▓рд╛рдд рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ рдЬрд╣рд╛рдВ рджреГрд╢реНрдп рдмрджрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХреНрд╖реЗрддреНрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рдирд╣реАрдВ рд╣реИ:
const o = { x: 1, y: 2, z: 3, }; oy = 0.1;
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, V8 рдХреЛ рддрдерд╛рдХрдерд┐рдд рд╡рд┐рднрд╛рдЬрди рдЖрдХрд╛рд░ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рд░реВрдк рд╣реИ, рдЬреЛ рдЙрд╕ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд┐рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдпрд╣рд╛рдВ рд╣рдо
y
рдмрджрд▓рддреЗ рд╣реИрдВ,
y
- рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рд░реВрдк рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ
y
рдирд╣реАрдВ рдерд╛ред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд╡рд╣ рд░реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ
x
рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред
рдЕрдВрддрд┐рдо рд░реВрдк рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдореВрд▓реНрдп рдирд╣реАрдВ рдерд╛рдпрд╣рд╛рдВ, рдЗрд╕ рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо
y
рд▓рд┐рдП рдПрдХ рдирдИ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╕рднреА рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддреА рд╣реИред рдХреЗрд╡рд▓ рдЕрдм рд╕рдВрдкрддреНрддрд┐
'y'
рдХреЛ рдПрдХ
Double
рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдм рд╣рдо рдЗрд╕ рдирдИ рдкрд░рд┐рд╡рд░реНрддрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
y
, рдЗрд╕реЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдкреБрд░рд╛рдиреЗ рд╕рдмрдЯреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рдирдП рд░реВрдк рдореЗрдВ
o
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдм
y
MutableHeapNumber
рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
MutableHeapNumber
рдЗрдХрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдирдИ рд╡рд╕реНрддреБ рдкреБрд░рд╛рдиреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдкреЗрдбрд╝ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧреА рдФрд░, рдкреБрд░рд╛рдиреЗ рд░реВрдк рдХреЗ рд╕рднреА рд╕рдВрджрд░реНрдн рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдкреЗрдбрд╝ рдХрд╛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рднрд╛рдЧ рднреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдПрдВрдб рдЯреНрд░рд╛рдВрдЬрд┐рд╢рди рдЗрдВрдЯреАрдЧреНрд░рд┐рдЯреА
Object.preventExtensions()
рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдирдП рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реЛрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред (рд╕рд╣реА рд╣реИ, рдпрджрд┐ рдХреЛрдб рдХреЛ рд╕рдЦреНрдд рдореЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдлреЗрдВрдХрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдмрд╕ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЬрдиреНрдо рдирд╣реАрдВ рджреЗрдЧрд╛)ред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
const object = { x: 1 }; Object.preventExtensions(object); object.y = 2;
Object.seal()
рд╡рд┐рдзрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ
Object.preventExtensions()
, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рд╣реА рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const object = { x: 1 }; Object.seal(object); object.y = 2;
Object.freeze()
рд╡рд┐рдзрд┐
Object.freeze()
рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЙрди рдЧреБрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рдирдП рдореВрд▓реНрдп рдирд╣реАрдВ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
const object = { x: 1 }; Object.freeze(object); object.y = 2;
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп
x
ред рдлрд┐рд░ рд╣рдо рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рддреЗ рд╣реИрдВ:
const a = { x: 1 }; const b = { x: 2 }; Object.preventExtensions(b);
рдЗрд╕ рдХреЛрдб рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЙрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╕реНрддреБ рдХреЗ рдЦрд╛рд▓реА рд░реВрдк рд╕реЗ рдирдП рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдкрддреНрддрд┐
'x'
(рдПрдХ рдЗрдХрд╛рдИ
Smi
рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡) рд╣реЛрддреА рд╣реИред рдЬрдм рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ
b
рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХреНрд░рдордг рдХреЛ рдПрдХ рдирдП рд░реВрдк рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЧреИрд░-рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХреНрд░рдордг рдХреБрдЫ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд┐рд░реНрдл рдПрдХ рдорд╛рд░реНрдХрд░ рд╣реИред
Object.preventExtensions () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдордХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдореМрдЬреВрджрд╛ рдлреЙрд░реНрдо рдХреЛ рдХреЗрд╡рд▓ рдореВрд▓реНрдп
x
рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ, рдЕрд░реНрдерд╛рддреН рдСрдмреНрдЬреЗрдХреНрдЯ
a
, рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
a
, рдЬреЛ рдЕрднреА рднреА рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рд╣реИред
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдореБрджреНрджрд╛
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рд╛рд▓ рд╣реА рдХреЗ рд░рд┐рдПрдХреНрдЯ рдкреНрд░рджрд░реНрд╢рди
рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд░рд┐рдПрдХреНрдЯ рдЯреАрдо рдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд┐рдпрд╛, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ V8 рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рдЧрд┐рд░рд╛рд╡рдЯ рджреЗрдЦреА, рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреА рдереАред рдпрд╣рд╛рдБ рдХреЛрдб рдХрд╛ рд╕рдорд╕реНрдпрд╛ рднрд╛рдЧ рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рдкреНрд░рдЬрдирди рд╣реИ:
const o = { x: 1, y: 2 }; Object.preventExtensions(o); oy = 0.2;
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╣реИ, рдЬрд┐рд╕реЗ
Smi
рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдЧреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ
Double
рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдирд┐рд╖реЗрдз рд▓рдЧрднрдЧ рдирд┐рдореНрди рд╕реНрдерд┐рддрд┐ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╕реНрддреБ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдирд┐рд╖реЗрдз рдХреЗ рдкрд░рд┐рдгрд╛рдордСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рджреЛрдиреЛрдВ рдЧреБрдгреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
Smi
рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛
Smi
, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЧреИрд░-рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╕рдВрдХреНрд░рдордг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЕрдм рд╣рдореЗрдВ рдЙрд╕ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ
y
рд╕рдВрдкрддреНрддрд┐ рдХреЛ
Double
рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрд▓рдЧрд╛рд╡ рдХреЗ рдПрдХ рд░реВрдк рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╡рд╣ рд░реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ
x
рдЧреБрдг рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм V8 рдЙрд▓рдЭрди рдореЗрдВ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреГрдердХреНрдХрд░рдг рд░реВрдк рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдерд╛, рдФрд░ рд╡рд░реНрддрдорд╛рди рдлреЙрд░реНрдо рдХреЛ рдЧреИрд░-рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред V8 рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЗрдВрдЬрди рдмрд╕ рдЗрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдмрд╕ рдПрдХ рдЕрд▓рдЧ рд░реВрдк рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдкрддреНрд░ рдЯреНрд░реА рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рдЕрдирд╛рде рд░реВрдк рдХреА рддрд░рд╣ рдХреБрдЫ рд╣реИред

рдЕрдирд╛рде рд░реВрдкрдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣, рдпрджрд┐ рдпрд╣ рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ V8 рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреВрд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдм рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реБрдЖред
FiberNode
рдХреНрд▓рд╛рд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдереЗ рдЬреЛ рдХрд┐ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдкреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЗред
class FiberNode { constructor() { this.actualStartTime = 0; Object.preventExtensions(this); } } const node1 = new FiberNode(); const node2 = new FiberNode();
рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
actualStartTime
) рдХреЛ 0 рдпрд╛ -1 рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдерд╛ рдХрд┐
Smi
рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ
Smi
рдЙрдирдХреЗ рдЕрд░реНрдереЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ
рдкреНрд░рджрд░реНрд╢рди.рд╡рди () рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдЯрд┐рдХрдЯреЛрдВ рдХреЛ рдмрдЪрд╛рдпрд╛
ред рдЗрд╕рд╕реЗ рдпрд╣ рддрдереНрдп рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдХрд┐ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЕрдм
Smi
рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдм
Double
рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕ рд╕рдм рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рд░рд┐рдПрдХреНрдЯ рдиреЗ
FiberNode
рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рднреА рд░реЛрдХ рджрд┐рдпрд╛ред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдорд╛рд░реЗ рд╕рд░рд▓реАрдХреГрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рдгрд╛рд▓реА рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рд╡рд░реНрдЧ рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдПрдХ рд╣реА рдкреЗрдбрд╝ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рдЦреНрддреА рд╕реЗ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ V8 рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рддрдм, рдЬрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЯрд┐рдХрдЯреЛрдВ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ V8 рд╕рдордЭ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд▓рдЧрд╛рд╡ рдХрд╛ рд░реВрдк рдХреИрд╕реЗ рдкрд╛ рд╕рдХрддрд╛ рд╣реИред
V8 рдЙрд▓рдЭрди рдореЗрдВ рд╣реИV8 рдиреЛрдб 1 рдХреЛ рдПрдХ рдирдпрд╛ рдЕрдирд╛рде рд░реВрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд╣реА рдмрд╛рдд
node2
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╣реЛрддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ "рдЕрдирд╛рде" рд░реВрдк рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд┐рдПрдХреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдРрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпреЗ
FiberNode
рд╡рд░реНрдЧ рдХреЗ рджрд╕рд┐рдпреЛрдВ рдпрд╛ рд╣рдЬрд╛рд░реЛрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рддрд┐ V8 рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдордиреЗ
V8 v7.4 рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ
рдареАрдХ рдХрд┐рдпрд╛ , рдФрд░ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдХрдо рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдмрдирд╛рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрднрд╛рд╡рдирд╛
рддрд▓рд╛рд╢ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╢реЗрд╖ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред V8, рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрдм рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рдгрд╛рд▓реА рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
FiberNode
рд╡рд░реНрдЧ рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЧреИрд░-рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдлреЙрд░реНрдо рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
'actualStartTime'
рдХреЛ рдПрдХ
Smi
рдлрд╝реАрд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм
node1.actualStartTime
.
node1.actualStartTime
рдЧреБрдг рдХреЗ рд▓рд┐рдП рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдСрдкрд░реЗрд╢рди
node1.actualStartTime
, рддреЛ рдПрдХ рдирдИ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдкрд┐рдЫрд▓реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
Node1.actualStartTime рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдордХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЧреИрд░-рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдлрд╝реЙрд░реНрдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдм рдирдИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ
node2.actualStartTime
рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
node2.actualStartTime
ред
рдиреЛрдб 2.actualStartTime рдЧреБрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдордирдпрд╛ рдорд╛рди
node2.actualStartTime
.
node2.actualStartTime
рдЧреБрдг рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ
node2.actualStartTime
, рджреЛрдиреЛрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдирдП рд░реВрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрдХреНрд░рдордг рдЯреНрд░реА рдХреЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рднрд╛рдЧ рдХреЛ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдкреЛрдВ рдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдЙрдирдХрд╛ рдкреНрд░рд╡рд╛рд╕ рдХреБрдЫ рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рд╣реИред рд╣рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЕрд╕рд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдпрд╣ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЕрдзрд┐рдХ рдиреБрдХрд╕рд╛рди (рдкреНрд░рджрд░реНрд╢рди, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ, рдЬрдЯрд┐рд▓рддрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ -
рд╕реВрдЪрдХ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдореВрд▓реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ
Double
рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдо
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реА 8 рдСрдмреНрдЬреЗрдХреНрдЯ рд░реВрдкреЛрдВ рдХреЗ рдЕрдкреНрд░рдЪрд▓рди рдХреЗ рддрдВрддреНрд░ рдХреЛ
рдЫреЛрдбрд╝ рджреЗрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрдВрддреНрд░ рдХреЛ рд╕реНрд╡рдпрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдмрдирд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдЯреАрдо рдиреЗ рдЕрдкрдиреЗ рджрдо рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ
рд╣рд▓ рдХрд┐рдпрд╛ , рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐
FiberNodes
рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдлрд╝реАрд▓реНрдб
FiberNodes
рд╢реБрд░реВ рдореЗрдВ рджреЛрд╣рд░реЗ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛
FiberNodes
рдерд╛:
class FiberNode { constructor() {
рдпрд╣рд╛рдВ,
Number.NaN
рдмрдЬрд╛рдп, рдХреЛрдИ рднреА рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдорд╛рди рдЬреЛ
Smi
рд╢реНрд░реЗрдгреА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдорд╛рдиреЛрдВ рдореЗрдВ 0.000001,
Number.MIN_VALUE
, -0 рдФрд░
Infinity
ред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ V8 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдереА, рдФрд░ рдпрд╣ рдХрд┐ рдХреБрдЫ рдХреЛрдб рдмрдирд╛рддреЗ рд╕рдордп, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХреЛрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдХреЗ рдХреБрдЫ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЗрдВрдЬрди рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВред
рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬреЗрдПрд╕-рдЗрдВрдЬрди рдХреЗ рдзрдиреБрд╖ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдЪреАрдЬреЗрдВ рд╣реИрдВред JS рдбреЗрд╡рд▓рдкрд░ рдЗрди рд╕рднреА рддрдВрддреНрд░реЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рдорд╛рди рдЪрд░ рдорд╛рдиреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ
null
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рдореНрдн рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдирд┐рд░реВрдкрдг рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рд╣реЛрдЧреА рдФрд░ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛:
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ - рдкрдардиреАрдп рдХреЛрдб рд▓рд┐рдЦреЗрдВ, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЦреБрдж рд╣реА рдЖ рдЬрд╛рдПрдЧрд╛!
рдкрд░рд┐рдгрд╛рдо
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдЖрджрд┐рдо" рдФрд░ "рдСрдмреНрдЬреЗрдХреНрдЯ" рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░
typeof
рдкрд░рд┐рдгрд╛рдо рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдорд╛рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдЗрдВрдЬрди рдХреЗ рдЖрдВрддреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╡реА 8 рдЬреЗрдПрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
- рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, V8 рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдкреЛрдВ рдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░реВрдкреЛрдВ рдХреЗ рдкреНрд░рд╡рд╛рд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд╣рд┐рдд - рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдирд┐рд╖реЗрдз рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдкреВрд░реНрд╡рдЧрд╛рдореА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпреБрдХреНрддрд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╣рдореЗрд╢рд╛ рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рдХрд╛рд░реНрдп рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред
- рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЛ рдЪреБрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдХреБрдЫ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ?
