1
TypeScript에는 리터럴 문자열을 일반 함수의 형식 매개 변수로 사용할 수 있다는 편리한 속성이 있습니다. 따라서TypeScript 리터럴 유형 매개 변수가 전달되지 않음
let a:HTMLAnchorElement = document.createElement("a");
을 할 수 있으며, 컴파일러는 (때문에 과부하 createElement(tagName:"a"):HTMLAnchorElement
의) 올바른 알고있다.
나는 또한 다음과 같은 이해할 수 있도록 스마트 될 것 기대했다 :
function createEl<T extends string>(type:T) {
let el = document.createElement(type);
// ...stuff...
return el;
}
let a:HTMLAnchorElement = createEl("a");
그러나 불행하게도, 그것은 (는 "하지 할당"오류를 제공)하지 않습니다. 내가 그것을 놓칠 수있는 뭔가가 있습니까, 아니면 다른 접근법을 찾아야합니까? 어떻게됩니까