Вопрос №55707 от пользователя Андрей Мищенко в проекте «RSS агрегатор»
Здравствуйте.
И в практиках, и в Webpack Boilerplate присутствует инструкция проверки соответствия стандартам TypeScript - // @ts-check
. Из-за неё, например, в таком случае:
submitButton.disabled = status;
VSCode выдаёт ошибку:
Property 'disabled' does not exist on type 'Element'.ts(2339)
Нагугленные мной способы решения годятся только для ts
файлов.
Что делать - убрать // @ts-check
?
Или переписать код так:
if (status) {
submitButton.setAttribute('disabled', status);
} else {
submitButton.removeAttribute('disabled');
}
Или есть другое решение?
И сразу продолжение: как побороться с ошибкой
Property 'trim' does not exist on type 'FormDataEntryValue'.
Property 'trim' does not exist on type 'File'.ts(2339)
в коде
const formData = new FormData(e.target);
const url = formData.get('url').trim();
Андрей Мищенко, @ts-check не про стандарты typescript, эта директива позволяет использовать проверку типов с помощью typescript. Воспринимайте ошибки ts как совет присмотреться к коду внимательнее, чем как указание немедленно исправить.
Первую ошибку убрал, руководствуясь этой инструкцией.
Вторую - добавив приведение к строке.
Андрей Мищенко, в первом случае, возможно, достаточно было использовать setAttribute вместо прямого присваивания.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







