Это очень урезанная версия нашего исходного кода:
const start: number = 10
const end: number = 20
(someElement as HTMLInputElement).setSelectionRange(start, end)
Затем была маленькая красная волнистая линия под 20. Указывая на эту ошибку: Это выражение не вызывается. Тип «Число» не имеет сигнатур вызовов. Мы разобрались, что решение - добавить точку с запятой:
const start: number = 10
const end: number = 20;
(someElement as HTMLInputElement).setSelectionRange(start, end)
Кто-нибудь знает, почему он так компилируется? Я предполагаю, что машинописный текст, компилируемый в javascript, интерпретирует этот код, как показано ниже, и пытается вызвать переменную end
как функцию.
const start: number = 10
const end: number = 20(someElement as HTMLInputElement).setSelectionRange(start, end)