typescript와 함께 tagged template literal의 ES5를 사용하려고 시도하고 있지만 형식 스크립트가이를 완벽하게 지원하지 않는 것 같습니다. 나는 다음과 같은 코드를 가지고있다.TypeScript : Tagged Template Literals가 오류
class TemplateLiterals {
age: number = 24;
name: 'Luke Skywalker'
private tag(strings: string[], personExp, ageExp) :string{
var str0 = strings[0]; // "that "
var str1 = strings[1]; // " is a "
var ageStr;
if (ageExp > 99) {
ageStr = 'centenarian';
} else {
ageStr = 'youngster';
}
return str0 + personExp + str1 + ageStr;
}
toString() {
return this.tag `that ${ this.name } is a ${ this.age }`;
}
}
toString
방법에서, 다음과 같은 오류가 표시됩니다.
Argument of type 'TemplateStringsArray' is not assignable to parameter of type 'string[]'.
Property 'push' is missing in type 'TemplateStringsArray'.
왜이 오류가 나에게 표시되는지 알 수 없습니다. 모질라의 문서에 따르면 "태그 함수의 첫 번째 인수에는 문자열 값 배열이 들어 있습니다." 그래서 그것은 문자열 배열을 받아 들여야합니다. 그러나 실제 기대치는 TemplateStringsArray
입니다. interface
TemplateSringsArray
을 정의하는 방법과시기를 잘 모름 현재이 오류를 방지하려면 TemplateSringsArray
유형을 사용하고 있습니다. 누구든지 무슨 일이 일어 났는지 설명해 주시겠습니까? 감사. playground은 다음과 같습니다.
TemplateStringsArray
를 찾을 수 없습니다
'현재이 오류를 피하기 위해 TemplateSringsArray 유형을 사용하고 있습니다 .' –