Flow注釋類型(Comment Types)

注釋類型(Comment Types)

Flow中的JavaScript使用一種特殊的注釋語法。

Flow支持基于注釋的語法,可以使用Flow而無需編譯文件。

// @flow

/*::
type MyAlias = {
  foo: number,
  bar: boolean,
  baz: string,
};
*/

function method(value /*: MyAlias */) /*: boolean */ {
  return value.bar;
}

method({ foo: 1, bar: true, baz: ["oops"] });

這些注釋使得Flow可以在純JavaScript文件中存在。

注釋類型語法

有兩種主要的語法:類型包含與類型注釋注解。

類型包含

使用::開始一段注釋。

/*::
type Foo = {
  foo: number,
  bar: boolean,
  baz: string
};
*/

class MyClass {
  /*:: prop: string; */
}

上面這段代碼在Flow中看起來是這樣的:

type Foo = {
  foo: number,
  bar: boolean,
  baz: string
};

class MyClass {
  prop: string;
}

但是在JavaScript會屏蔽這些注釋,所以看起來如下:

class MyClass {

}

你還可以使用flow-include的格式:

/*flow-include
type Foo = {
  foo: number,
  bar: boolean,
  baz: string
};
*/

class MyClass {
  /*flow-include prop: string; */
}
注釋類型注解

使用:開始一段注釋:

function method(param /*: string */) /*: number */ {
  // ...
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容