studye / typescript

타입스크립트는 자바스크립트랑 다른 언어인가요?
7 stars 0 forks source link

[typescript - 2.1] Better inference for literal types #33

Open denzels opened 7 years ago

denzels commented 7 years ago

명시적으로 타입정의를 하지 않은 const나 readonly 인 경우 type 정의를 좀더 제한(?) 하는... Better inference 한 건가...?

const HTTP_GET = "GET";    // "GET" 라는 타입이 됨.
const HTTP_POST: string = "POST";  // string 타입이 됨
let GET = "GET";  // let 이라서 string 타입 

function get(url: string, method: "GET" | "POST") {
    console.log( url, method );
}

// 다음 중 컴파일 에러가 발생하는 경우는?
// 1. get("https://example.com/", HTTP_GET);
// 2. get("https://example.com/", "GET");
// 3. get("https://example.com/", GET);
// 4. get("https://example.com/", HTTP_POST);