0
當我編譯下面的代碼(因爲const
的類型和功能()
的類型是不同的這對我來說似乎是不正確的)沒有錯誤的產生:如何指定打字稿函數參數數組類型
export const yearsExtractor: (Period) => Year[] = (periods: Period[]): Year[] => periods && periods.length ? periods.map((period: Period) => period.year) : <Year[]>[];
當我編譯下面的代碼產生一個錯誤(因爲const
的類型和功能()
匹配的類型這對我似乎是正確的):
export const yearsExtractor: (Period[]) => Year[] = (periods: Period[]): Year[] => periods && periods.length ? periods.map((period: Period) => period.year) : <Year[]>[];
的區別在於不編譯的代碼將const
聲明爲接受Period
對象數組(而不是單個Period
對象)的函數。
錯誤
(Period[]) =>
在一審中沒有錯誤
(Period) =>
你總是有最佳的類型標註前一個強制性的名字。因此,Period是該位置的參數名稱,[]在該位置無效...... – Lucero