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/
相關文章
- React的靜態型別檢查React型別
- Vue中的靜態型別檢查Vue型別
- GitHub 熱門:微軟新開源的 Python 靜態型別檢查器Github微軟Python型別
- 程式碼靜態掃描規則——型別轉換檢查型別
- Flow靜態型別檢查及在Vue專案中的使用型別Vue
- ESLint 靜態程式碼檢查EsLint
- ReactFlow程式碼靜態檢查React
- 淺談程式語言型別的強型別,弱型別,動態型別,靜態型別型別
- Python的靜態型別之旅Python型別
- 理解 TypeScript 的靜態型別TypeScript型別
- Android 隱私合規靜態檢查Android
- python程式碼檢查工具(靜態程式碼審查)Python
- 檢查型別是否溢位型別
- React手稿之型別檢查React型別
- Model Inspector — 軟體模型靜態規範檢查工具模型
- Android 隱私合規靜態檢查實現(二)Android
- C++編譯器認為的指標型別(靜態聯編)C++編譯指標型別
- C++從靜態型別到單例模式C++型別單例模式
- React 快速上手 – 10 型別檢查 PropTypesReact型別
- React 快速上手 - 10 型別檢查 PropTypesReact型別
- 偽靜態、靜態和動態的區別
- 三分鐘從零單排js靜態檢查JS
- React Native工程中TSLint靜態檢查工具的探索之路React Native
- Vue TypeScript 實戰:掌握靜態型別程式設計VueTypeScript型別程式設計
- 讚美 void, ECMAScript 秒變靜態型別語言型別
- 概念區別 【編譯型語言與解釋型語言、動態型別語言與靜態型別語言、強型別語言與弱型別語言】編譯型別
- 使用puppeteer爬蟲,檢查頁面靜態資源丟失爬蟲
- 機器學習&惡意程式碼靜態檢測機器學習
- CRTP 和靜態多型多型
- 原始碼 | 靜態工廠返回宣告的返回型別的子型別的例項原始碼型別
- 靜態型別在 JavaScript 中是一種負擔嗎?型別JavaScript
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- Java中靜態跟非靜態的區別總結Java
- java靜態方法使用泛型Java泛型
- DS靜態查詢之順序查詢
- 重拾Kotlin(10)-型別的檢查與轉換Kotlin型別
- TypeScript防脫髮級入門——基本型別檢查TypeScript型別
- 你用過 PropTypes 的這些型別檢查麼?型別