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

рдЖрдЗрдП рддрдп рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдХреНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЪрд▓реЛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рдХреА рджрд░ рдФрд░ рдХрд╛рдо рдХрд┐рдП рдЧрдП рдШрдВрдЯреЗ рд╕реЗ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд╡реЗрддрди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдХрд░реНрдордЪрд╛рд░реА рдкрд╛рдВрдЪ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдмреЛрдирд╕ рдорд┐рд▓реЗрдЧрд╛ред рдпрд╣ "рдпрджрд┐" рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЯрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдПрдХ рддрддреНрд╡ рдмрди рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕рд╢рд░реНрдд рдСрдкрд░реЗрдЯрд░ "рдпрджрд┐" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЬрдЯрд┐рд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╣реЛрддреА рд╣реИред
"рдЕрдЧрд░" рдСрдкрд░реЗрдЯрд░, рдкреИрдЯрд░реНрди рдЬреИрд╕реЗ рдХрд┐ "рд░рдгрдиреАрддрд┐", рдмрд╣реБрд░реВрдкреА рддрд░реАрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ, рд╣рдореЗрд╢рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдирд╣реАрдВред
рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣ рдХрд╛рд▓реНрдкрдирд┐рдХ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рднреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЗрд╕ рд░реВрдк рдореЗрдВ рдерд╛ рдХрд┐ рдореИрдВ рдПрдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди рдЙрдирд╕реЗ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдорд┐рд▓рд╛ рдерд╛ред рдХреЛрдб рдореЗрдВ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдереЗ рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рдмреВрд▓рд┐рдпрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде:
рдЗрд╕реА рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рд╣рдореЗрд╢рд╛ рд╕рдВрджрд┐рдЧреНрдз рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдореБрдЭреЗ рдирд┐рд░рд╛рд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
doSomething(flag: boolean): void { if(flag) {
рдЗрд╕ рдЪреЗрдХ рдХреЛ "рдпрджрд┐ рдореБрдЭреЗ рдП рд╕реНрдерд╛рди рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдореБрдЭреЗ рдмреА рд╕реЗ рджреВрд╕рд░реА рдЬрдЧрд╣ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред" рдпрд╣ рдзреНрд╡рдЬ, рдпрд╣ "рдпрджрд┐" рдпрд╣ рдкреВрд░рд╛ рдиреЛрдЯ рдХреНрдпрд╛ рд╣реИ рдЬрдЯрд┐рд▓рддрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдирд╣реАрдВ рдЖрддреА рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреЛрдб рдмрджрд▓рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рд╣реИ:
рдпрд╣ рд╕рдм, рдФрд░ рдХреЛрдИ рдЬрдЯрд┐рд▓рддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрд╣реБрдд рдЖрд▓рд╕реА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рдЖрдк рдпрд╣ рджрд╛рд╡рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: "рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ 'рдЕрдЧрд░' рд╣реИ, рдпрд╛:" рдпрд╣ рдЙрд▓реНрд▓рдВрдШрди рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЙрд╕ рдХреЛрдб рдХреЛ рдХреМрди рд▓рд┐рдЦрддрд╛ рд╣реИ? " рдФрд░ рдпрд╣рд╛рдБ рджреВрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдЖрддрд╛ рд╣реИред рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд▓реНрд▓рдВрдШрди рдХреЛ рджреЗрдЦрдирд╛ рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рднреА рдХрд┐ рдЗрд╕ рдЙрд▓реНрд▓рдВрдШрди рдХреА рд▓рд╛рдЧрдд рдХреЗрд╡рд▓ рдПрдХ "рдпрджрд┐" рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╡рд┐рдзрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рдирд╛рдо рд╕реЗ рд╣реИ, рд╡рд╕реНрддреБ рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреА рд╡реИрдзрддрд╛ рдХреА рднреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдЙрд▓реНрд▓рдВрдШрди рдкрд░ рдЬрд╝реЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд┐рдпрд╛ред рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
checkValidity(parm: MyType | MyType[]): void { if(Array.isArray(parm)) { parm.forEach(p => checkValidity(p)); } else {
рдпрд╣рд╛рдБ рдпрд╣ рд╣реИред рдПрдХ рддреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдлрд╝реНрд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рд░рдгреА рдореЗрдВ 100 рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рддреЛ рдпрд╣ "рдпрджрд┐" 101 рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛ред рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 30 рд╣рдЬрд╛рд░ рд╡рд╕реНрддреБрдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди рд╣рд╛рдирд┐ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ 2 рддрд░реАрдХреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВ:
checkItemsValidity(parms: MyType[]): void { parms.forEach(p => checkItemValidity(p)); } checkItemValidity(parm: MyType): void {
рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдкрдХреЛ рдХреЙрд▓ рдкреЙрдЗрдВрдЯ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдПрд╕рдЖрд░рдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рдЬреЛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП, рдЙрдирдореЗрдВ рдПрд╕рдПрд▓рдУрд╕реА рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рд╡рд╣реА рдЙрджрд╛рд╣рд░рдг, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕рдореЗрдВ рдереЛрдбрд╝реА рдХрдореА рдЖрдИ, рд╕рд╛рде рд╣реА рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реБрдзрд╛рд░ рднреА рд╣реБрдЖред
рд╡рд╣ рд╕рдм рд╣реИред рдЕрдЪреНрдЫреЗ рдХреЛрдб рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗред