Быстрый вопрос о TypeScript и функциях - PullRequest
1 голос
/ 08 октября 2019

Я пришел из Java и Python и набирал машинку для Angular. После 3 часов, пытаясь решить простую проблему, я понял, что

calculateYear(age) {
    this.birthYear = new Date().getFullYear()-age;
}

- это не то же самое, что

calculateYear(age) {
    this.birthYear = new Date().getFullYear-age;
}

Моя проблема с этим заключается в том, что VSCode автоматически завершается до Date (). GetFullYearи я продолжал присваивать функции число и получать это:

(error TS2322: Type '() => number' is not assignable to type 'number').

Я хотел бы знать, есть ли обстоятельства, которые я хотел бы напечатать * .getFullYear вместо *.getFullYear (). Если нет, то почему в IDE даже была эта опция.

1 Ответ

0 голосов
/ 08 октября 2019

в javascript, функции являются гражданами первого класса: вы можете назначать их как значения, передавать их в качестве аргументов функциям и даже возвращать их как значения.

calculateYear(age) {
   const getYear = new Date().getFullYear;
   this.birthYear = getYear()-age;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...