Typescript: рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд░ / рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдЖрд╢реБрд▓рд┐рдкрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдлрд╝рд░ре░ 2019  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдЦреЛрдЬ рд╢рдмреНрдж

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрд╢реБрд▓рд┐рдкрд┐, рдЪреАрдиреА рд╡рд╛рдХреНрдп рд░рдЪрдирд╛, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд░

рд╕реБрдЭрд╛рд╡

рдХреНрдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ / рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рднреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реЛрдВред

рдмрдХреНрд╕реЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ


рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░реЗрдВ рдФрд░ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг


export interface AllStrings { prop1: string; prop2: string; }

рдЬреИрд╕реЗ рдХреБрдЫ

export interface AllStrings<type: string> { prop1,prop2; }

рдЬрд╛рдВрдЪ рд╕реВрдЪреА

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ:

  • [x] рдпрд╣ рдореМрдЬреВрджрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • [x] рдпрд╣ рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд░рдирдЯрд╛рдЗрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛
  • [x] рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рднрд╛рд╡реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ JS рдХреЛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • [x] рдпрд╣ рдПрдХ рд░рдирдЯрд╛рдЗрдо рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдЧреИрд░- ECMAScript рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕, рдЖрджрд┐)
  • [-] рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╢реЗрд╖

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡реНрд╣рд╛рдЯ рдЕрдмрд╛рдЙрдЯ:

type AllStrings = Record<"prop1" | "prop2", string>

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡реНрд╣рд╛рдЯ рдЕрдмрд╛рдЙрдЯ:

type AllStrings = Record<"prop1" | "prop2", string>
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zhuravlikjb picture zhuravlikjb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DanielRosenwasser picture DanielRosenwasser  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

weswigham picture weswigham  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlaberge picture dlaberge  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fwanicka picture fwanicka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ