Typescript: рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЪрд░ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рдирд╡ре░ 2016  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript



рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: 2.0.3 / рд░рд╛рддреНрд░рд┐рдХрд╛рд▓реАрди (2.1.0-dev.201xxxxx)
2.0.3

рдХреЛрдб

function test(val: 'AAA'|'BBB'){
  //xxx
}

let a = true ? 'AAA' : 'BBB';
test(a);

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░:
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:
рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

рддреНрд░реБрдЯрд┐ TS2345: 'рд╕реНрдЯреНрд░рд┐рдВрдЧ' рдкреНрд░рдХрд╛рд░ рдХрд╛ рддрд░реНрдХ 'рдПрдПрдП' рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ | "рдмреАрдмреАрдмреА"'ред

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

рдЗрд╕ рдкрд░ рдХрдИ рдмрд╛рд░ рдЪрд░реНрдЪрд╛ рд╣реЛ рдЪреБрдХреА рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдПрдХ рд▓реЗрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдпрд╣ рдорд╛рди рд▓реЗрдЧрд╛ рдХрд┐ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдорд╛рди рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 2.0 рдореЗрдВ, рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛ рдЕрдиреБрдорд╛рди рдХрднреА рдирд╣реАрдВ рдерд╛ред рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

function test(val: 'AAA'|'BBB'){
  //xxx
}

let a: 'AAA' | 'BBB' = true ? 'AAA' : 'BBB';
test(a);

рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2.1 рдореЗрдВ рдпрд╣ const рдХреЛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рдмрд╕реЗ рд╕рдЦреНрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░реЗрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХреЗрдВ:

function test(val: 'AAA'|'BBB'){
  //xxx
}

const a = true ? 'AAA' : 'BBB';
test(a);

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

рдЗрд╕ рдкрд░ рдХрдИ рдмрд╛рд░ рдЪрд░реНрдЪрд╛ рд╣реЛ рдЪреБрдХреА рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдПрдХ рд▓реЗрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдпрд╣ рдорд╛рди рд▓реЗрдЧрд╛ рдХрд┐ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдорд╛рди рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 2.0 рдореЗрдВ, рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛ рдЕрдиреБрдорд╛рди рдХрднреА рдирд╣реАрдВ рдерд╛ред рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

function test(val: 'AAA'|'BBB'){
  //xxx
}

let a: 'AAA' | 'BBB' = true ? 'AAA' : 'BBB';
test(a);

рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2.1 рдореЗрдВ рдпрд╣ const рдХреЛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рдмрд╕реЗ рд╕рдЦреНрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░реЗрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХреЗрдВ:

function test(val: 'AAA'|'BBB'){
  //xxx
}

const a = true ? 'AAA' : 'BBB';
test(a);
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ