[英][Syntax Help]What is "variable : () => " meaning in Typescript or JavaScript
我正在閱讀有關 next-firebase-auth 的源代碼。
我對以下代碼語法感到困惑
export const useAuthUser: () => AuthUserContext
export const verifyIdToken: (token: string) => Promise<AuthUser>
右側看起來像一個箭頭函數。 左邊是聲明變量。 直覺上,我認為與以下相同:
export const useAuthUser = () => AuthUserContext
然而,事實並非如此。 我在 Chrome 控制台上做了一些測試。 這是代碼
adder : () => (a + b)
當我按回車時,它顯示
() => (a+b)
但是如果我輸入加法器,它會顯示
Uncaught ReferenceError: adder is not defined
我在這里看了其他帖子。 似乎冒號 (:) 與類型注釋有關。 那么這是否意味着右側是類型或接口? 但是箭頭函數類型或接口如何? 它沒有任何意義。
謝謝你的幫助!
冒號后面的東西是類型。 作為一種類型, () => AuthUserContext
表示不需要任何參數並返回AuthUserContext
的函數。 (token: string) => Promise<AuthUser>
表示需要一個字符串參數的函數,然后返回一個 Promise 將解析為AuthUser
您顯示的代碼行似乎不完整。 通常,一個 const 將緊跟一個賦值,如下所示:
export const useAuthUser: () => AuthUserContext = () => {
// some code which returns an AuthUserContext
}
我在 Chrome 控制台上做了一些測試。
控制台僅支持 javascript,不支持 typescript
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.