// type annotation 類型注解,我們來告訴 TS 變量是什么類型 // type inference 類型推斷,TS 會自動的去嘗試分析變量的類型 // 如果 TS 能夠自動分析變量類型,我們就什么也不需要做了 // 如果 TS 無法分析變量類型的話,我們就需要使用類型注解 let count: number; // 這種顯性的聲明,count 變量是 number 類型數據的寫法,叫做類型注解 count = 123; // 這個沒有說明 countInference 是數字,但是鼠標浮上去的時候,也會顯示 number 類型,TS 會自動推斷變量類型 let countInference = 123; const fristNumber = 1; const secondNumber = 2; const total = fristNumber + secondNumber; /** * 這里不需要類型注解,鼠標浮上去,會顯示數字,說明 TS 不僅推斷出是數字類型, * 還顯示 fristNumber 永遠是1,secondNumber 永遠是2 * total 也推斷出是數字類型,不需要手動寫 * 寫 TS 無非是讓每個變量都有類型 */ function getTotal(fristNumber, secondNumber) { return fristNumber + secondNumber } const totalVal = getTotal(1, 2); /** * 這個時候是需要類型注解的,鼠標浮上去,fristNumber,secondNumber 是任何類型 */ function getTotal(fristNumber: number, secondNumber: number) { return fristNumber + secondNumber } const totalVal = getTotal(1, 2); // 這個時候 fristNumber,secondNumber 確定是 number 類型,totalVal 也就能推斷出來