Тип «() => число» не может быть назначен типу «число» - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь сделать что-то очень простое:

DateToString(date: Date): string {
       let month: number = date.getMonth;
       let day: number = date.getDate;
       let year: number = date.getFullYear;

       return (month + 1) + '/' + day + '/' + year;
   }

Однако я получаю сообщение об ошибке из заголовка «Тип» () => число », которое нельзя назначить типу« число ». Если вместо этого я попытаюсь сделать тип «() => число» вместо «число», эта ошибка исчезнет, ​​и я получу ошибку «Оператор + не может быть применен к типам» () => число «и» число '".

Использование Vue и декораторов на основе классов с Typescript. Есть идеи?

1 Ответ

2 голосов
/ 23 апреля 2020

getMonth, et c., Должны вызываться как функции.

DateToString(date: Date): string {
       let month: number = date.getMonth();
       let day: number = date.getDate();
       let year: number = date.getFullYear();

       return (month + 1) + '/' + day + '/' + year;
   }

Кстати, уже есть функция toLocaleDateString(), которая будет делать то, что вы хотите сделать выше, хотя это дает разные результаты в зависимости от настроек локали клиентской системы - которые могут быть, а могут и не быть теми, которые вы хотите.

...