今天要來講介面型別的使用範例。
通常我們會使用介面來定義函式型別,程式碼如下,
interface MathFunc {
(x: number, y: number): number;
}
interface
為宣告介面型別。MathFunc
為介面的名稱,後面用大括弧來定義介面裡面的屬性名稱與型別。(x: number, y: number)
為傳入的參數及其型別。 number
接在冒號後的型別為傳出得型別。
這就是介面型別的基本宣告,
特別需要注意的是,
介面型別不會轉譯成JS程式碼喔。
接續使用上面的介面,使用範例如下,
let add: MathFunc;
add = function add(x: number, y: number) {
return x + y;
}
console.log(add(10,20));
首先宣告add變數為MathFunc介面協別,
接著使用介面來定義函式型別,
傳入參數為x: number
及y: number
,
分別x,y都是number型別,
而傳出參數為x + y
,
可知 number + number = number ,
傳出參數型別也是number型別,
符合介面別的傳入傳出型別,
接著呼叫此函式,add(10,20)
可得 10 + 20,
因此回傳值為number型別的30。
另外,特別需要說明的是,
參數名稱不必與介面名稱相同,
也就是說介面傳入參數使用x與y,
使用時也不一定要使用x與y,
更能在使用時依照程式所需,
使用更容易理解的參數名稱即可,如下。
let add: MathFunc;
add = function add(i: number, j: number) {
return i + j;
}
console.log(add(30,40));
可依不同需求調整參數名稱。
希望大家對於使用介面來定義函式型別有基本的了解了,
那麼下篇再循序漸進的讓大家能更加瞭解不同的複雜型別,
因為JS沒有這些型別,
所以基礎大家就多試範例讓自己熟悉一下,
大家加油喔!