Flow_JS靜態型別檢查器
Flow Checker是Facebook公佈的一個JavaScript靜態型別檢查器,能夠在不改變程式碼的情況下,檢查JavaScript中一般的Bug,如:無聲型別轉換、空指標引用等等。同時,Flow也支援給JavaScript新增型別語法,因此,開發者們可以通過在他們的程式碼中宣告不變數讓其自動維護。
Flow可以將其理解為兩個東西:靜態型別檢查器、JavaScript方言
冒號後跟資料型別。
例:function foo(x: string, y: number): number { return x.length * y; }
限制x為string,y為number,函式返回number。
function f(param:1|2|3|4|5){/*...*/}
declare var oneOrTwo:1|2;// Subset of the input parameters type.
declare var fiveOrSix:5|6;// Not a subset of the input parameters type.
f(oneOrTwo);// Works!
f(fiveOrSix);// Error!
以下程式碼中,value可以是"A"or"B".
function method(value: "A" | "B") {
if (value === "A") { // value is "A"
}
}
prop?:string 代表prop為string且可能存在。
function otherMethod() { /* ... */ }
function method(value: { prop ? : string }) {
if (value.prop) {
var prop = value.prop;
otherMethod();
prop.charAt(0);
}
}
參考
教程:http://www.pinqy.cn/notes/flow-learning-1
官方文件:https://flow.org/
相關文章
- Flow:Facebook 的 JavaScript 靜態型別檢查器JavaScript型別
- React的靜態型別檢查React型別
- flow–facebook出品的javascript靜態型別檢查器JavaScript型別
- Vue中的靜態型別檢查Vue型別
- GitHub 熱門:微軟新開源的 Python 靜態型別檢查器Github微軟Python型別
- 程式碼靜態掃描規則——型別轉換檢查型別
- Groovy 2.0靜態型別檢查及編譯功能介紹型別編譯
- Flow靜態型別檢查及在Vue專案中的使用型別Vue
- C的動態型別檢查型別
- 型別檢查型別
- ReactFlow程式碼靜態檢查React
- 淺談程式語言型別的強型別,弱型別,動態型別,靜態型別型別
- 理解 TypeScript 的靜態型別TypeScript型別
- ESLint 靜態程式碼檢查EsLint
- Python的靜態型別之旅Python型別
- vuecli結合eslint靜態檢查VueEsLint
- FindBugs:Java 靜態程式碼檢查Java
- CSS 程式碼靜態質量檢查CSS
- JavaScript 程式碼靜態質量檢查JavaScript
- Python 型別檢查Python型別
- Android 隱私合規靜態檢查Android
- 在Python 3中實現型別檢查器Python型別
- React手稿之型別檢查React型別
- JavaScript 中的型別檢查JavaScript型別
- 檢查型別是否溢位型別
- python程式碼檢查工具(靜態程式碼審查)Python
- 建立自定義塊 - 型別檢查型別
- Python中的型別檢查Python型別
- 編譯期型別檢查 in ClojureScript編譯型別
- C++編譯器認為的指標型別(靜態聯編)C++編譯指標型別
- [原創]Java靜態程式碼檢查工具介紹Java
- C++從靜態型別到單例模式C++型別單例模式
- 靜態long型別常量serialVersionUID的作用型別UI
- 偽靜態、靜態和動態的區別
- Oracle 靜態引數與動態引數型別介紹Oracle型別
- 查詢(1)--靜態查詢
- React 快速上手 – 10 型別檢查 PropTypesReact型別
- React 快速上手 - 10 型別檢查 PropTypesReact型別