簡體   English   中英

[語法幫助]什么是“變量:() =>”在Typescript或JavaScript中的含義

[英][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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM