Typescript: μ‚Όν•­ μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•  λ•Œ λ³€μˆ˜κ°€ λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄ μœ ν˜•μœΌλ‘œ μΈμ‹λ˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2016λ…„ 11μ›” 03일  Β·  1논평  Β·  좜처: microsoft/TypeScript



TypeScript 버전: 2.0.3 / nightly(2.1.0-dev.201xxxxx)
2.0.3

μ•”ν˜Έ

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

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

μ˜ˆμƒλ˜λŠ” λ™μž‘:
μ„±κ³΅μ μœΌλ‘œ 컴파일됨

μ‹€μ œ 행동:
였λ₯˜ λ°œμƒ:

였λ₯˜ TS2345: 'λ¬Έμžμ—΄' μœ ν˜•μ˜ 인수λ₯Ό '"AAA" μœ ν˜•μ˜ λ§€κ°œλ³€μˆ˜μ— ν• λ‹Ήν•  수 μ—†μŠ΅λ‹ˆλ‹€. | "BBB"'.

Question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 μ—¬λŸ¬ 번 λ…Όμ˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ¨Όμ € let λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 즉, μ»΄νŒŒμΌλŸ¬λŠ” λ―Έλž˜μ— 값을 λ³€κ²½ν•  수 μžˆλ‹€κ³  κ°€μ •ν•˜λ―€λ‘œ λ³€μˆ˜μ— λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄ μœ ν˜•μ„ ν• λ‹Ήν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 2.0μ—μ„œλŠ” λ¦¬ν„°λŸ΄μ˜ 좔둠이 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžλŠ” λͺ…μ‹œμ μœΌλ‘œ κ·Έλ ‡κ²Œ ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ λ‹€μŒμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

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

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

κ·ΈλŸ¬λ‚˜ TypeScript 2.1μ—μ„œλŠ” const 에 λŒ€ν•œ 할당을 κ°€λŠ₯ν•œ κ°€μž₯ μ—„κ²©ν•œ λ°©μ‹μœΌλ‘œ ν•΄μ„ν•˜λ―€λ‘œ λ‹€μŒκ³Ό 같이 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

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

>λͺ¨λ“  λŒ“κΈ€

이것은 μ—¬λŸ¬ 번 λ…Όμ˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ¨Όμ € let λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 즉, μ»΄νŒŒμΌλŸ¬λŠ” λ―Έλž˜μ— 값을 λ³€κ²½ν•  수 μžˆλ‹€κ³  κ°€μ •ν•˜λ―€λ‘œ λ³€μˆ˜μ— λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄ μœ ν˜•μ„ ν• λ‹Ήν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 2.0μ—μ„œλŠ” λ¦¬ν„°λŸ΄μ˜ 좔둠이 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžλŠ” λͺ…μ‹œμ μœΌλ‘œ κ·Έλ ‡κ²Œ ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ λ‹€μŒμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

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

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

κ·ΈλŸ¬λ‚˜ TypeScript 2.1μ—μ„œλŠ” const 에 λŒ€ν•œ 할당을 κ°€λŠ₯ν•œ κ°€μž₯ μ—„κ²©ν•œ λ°©μ‹μœΌλ‘œ ν•΄μ„ν•˜λ―€λ‘œ λ‹€μŒκ³Ό 같이 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

const a = true ? 'AAA' : 'BBB';
test(a);
이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰