
1. рдУрдорд┐рдЯ рдкреНрд░рдХрд╛рд░ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?
рдЙрддреНрддрд░ : рдпрд╣ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЙрди рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореВрд▓ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
type Person = { name: string; age: number; location: string; }; type QuantumPerson = Omit<Person, 'location'>;
2. рдореБрдЭреЗ "рдШреЛрд╖рд┐рдд" рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЙрддреНрддрд░ : рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЬреЛ рдЖрдкрдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
declare const libraryName;
3. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдШреЛрд╖рдгрд╛ рдлрд╛рдЗрд▓реЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?
рдЙрддреНрддрд░ : tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
{ "compilerOptions": { ... "declaration": true, } }
4. рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдЙрддреНрддрд░ : рдЖрдкрдХреЛ рдХреЛрд╖реНрдардХ {} рдХреЗ рдмрд┐рдирд╛ рдореВрд▓ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХ рдФрд░ / рдпрд╛ рд╡рд╛рдкрд╕реА рдорд╛рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
function add(x: string, y: string): string; function add(x: number, y: number): number { return x + y; }
5. рд╕рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЧреБрдгреЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреИрд╕реЗ рдХрд░реЗрдВ?
рдЙрддреНрддрд░ : рдЖрдВрд╢рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
interface Person { name: string; age: number; } type PartialPerson = Partial<Person>;
6. рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХреЛ рдХрд┐рд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдЙрддреНрддрд░ : рд╡рд░реНрдЧ, рдЧреБрдг, рд╡рд┐рдзрд┐рдпрд╛рдБ, рдФрд░ рд╡рд┐рдзрд┐ рддрд░реНрдХред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
@MyClassDecorator export class Person { тАж @MyPropertyDecorator myProperty: string; }
7. "рд░рд┐рдХреЙрд░реНрдб" рдкреНрд░рдХрд╛рд░ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?
рдЙрддреНрддрд░ : рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдЯрд╛рдЗрдкреНрдб рдореИрдк рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
let Person = Record<string, number> = {}; Person.age = 25;
8. рдореИрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд╣рд░ рдХрдХреНрд╖рд╛рдУрдВ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ?
рдЙрддреНрддрд░ : рдХреНрд▓рд╛рд╕ рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
export class Person {}
9. рдХреАрд╡рд░реНрдб "рдЕрдЬреНрдЮрд╛рдд" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдЙрддреНрддрд░ : рдЬрдм рдЖрдк рдХрд┐рд╕реА рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ / рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдЯреАрдХ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
let person: unknown = 'John'; if (typeof person === string) { let name: string = person; }
10. ".map" рдлрд╝рд╛рдЗрд▓ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рд╣реИ?
рдЙрддреНрддрд░ : рдореИрдк рдлрд╛рдЗрд▓ рдПрдХ рд╕реЛрд░реНрд╕ рдореИрдк рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sourceMap рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ рдЙрджрд╛рд╣рд░рдг :
{ "compilerOptions": { ... "sourceMap": true, } }