TS2349
Wyrażenia nie można wywołać
This expression is not callable.Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.
Nawiasy są używane jako wywołanie funkcji, ale wyrażenie nie ma sygnatury wywołania.
Odtworzenie
const value = 'text' value()
Build potwierdza, że to emituje dokładnie ten kod.
Dlaczego kompilator tak mówi
Tylko wartości funkcyjne mają sygnatury wywołania. Tekst może mieć metody, ale sam jest danymi; dodanie `()` każe środowisku uruchomić go jak kod.
Naprawy
- 01
const value = 'text' const upper = value.toUpperCase()
Wywołaj metodę wykonującą zamierzoną operację.
- 02
const value = () => 'text' const text = value()
Jeśli miała to być odroczona praca, przechowuj funkcję zamiast jej wyniku.
Wniosek
Przeczytaj typ pod nagłówkiem błędu: mówi, jaka niefunkcyjna wartość naprawdę dotarła do miejsca wywołania.
