호출할 수 없는 오류 대응
6606 단어 TypeScript잘못tech
개시하다
업무 수행 중
This expression is not callable. Type String has no call signatures
라는 잘못된 정보를 만났기 때문에 비망록으로 기술한다.오류 메시지 이해
This expression is not callable. Type String has no call signatures
이 오류 메시지는 다음과 같은 상황에서 발생합니다.String
호출 형식을 함수로 할 때String
형으로 추론할 때String
유형을 함수로 호출할 때)index.ts
const string = 'write something';
string(); // エラーが発生する
단, 아래의 상황은 실행할 수 있다.index.ts
const string = 'write something';
console.log(string.toUpperCase()); // エラーは発生せず、実行される
string()
가 아니라 참조build-in methods
로 수행합니다.▶ 구체적인 예(함수를
String
형으로 추론할 때)index.ts
function exampleFunction (): any {
return (a: number, b: number) => {
return a + b;
};
}
const result = exampleFunction() as string;
result(50, 50); // エラーが発生する
변수result
에 함수가 저장되어 있어도메모리 값의 유형 추론은
String
유형이다.물론 실행할 수 없으면 오류가 발생할 수 있습니다.
조우시의 대응
최후
이런 일이 일어날 수 있기 때문에 사용하지 않겠다
as
의 이상에 접근하고 싶다.나는 다음과 같은 유형의 별명과 인터페이스를 익히고 싶다.
index.ts
// 型エイリアス
type ExampleFunction = (a: number, b: number) => number;
const exampleFunction: ExampleFunction = (a, b) => a + b;
console.log(funcA(25, 25));
// インターフェース
interface ExampleFunction {
(a: number, b: number): number;
}️
const exampleFunction: ExampleFunction = (a, b) => a + b;
Reference
이 문제에 관하여(호출할 수 없는 오류 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ignorant_kenji/articles/bc46b24e41e3a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)