JavaScript靜態(tài)類型檢查工具FLOW簡(jiǎn)介
Flow是Facebook出品的,針對(duì)JavaScript的靜態(tài)類型檢查工具。其代碼托管在github之上,并遵守BSD開源協(xié)議。
關(guān)于Flow
它可以幫助我們捕獲JavaScript開發(fā)中的常見錯(cuò)誤,而不需要額外地修改你原有的代碼,比如靜態(tài)類型轉(zhuǎn)換,空值引用等問題。
同時(shí),F(xiàn)low為JavaScript添加了靜態(tài)類型的語法標(biāo)識(shí),這樣開發(fā)者便可以明確代碼中的類型,讓其自動(dòng)地被Flow所維護(hù)。
目前,F(xiàn)low具有以下兩特性:
1. Flow的類型檢查具有可選性
除非你明確告訴Flow需要對(duì)某些文件進(jìn)行類型檢查,否則它是不會(huì)檢查你不需要檢查文件的。這就是說,你可以慢慢地將你的代碼庫轉(zhuǎn)到Flow之上,繼續(xù)收獲其持續(xù)增長(zhǎng)的價(jià)值。
比如你選擇了一個(gè)文件進(jìn)行檢查,F(xiàn)low會(huì)自動(dòng)地對(duì)你代碼的類型檢查,并查出你的代碼中的錯(cuò)誤。不過,如果你的代碼分得很細(xì)并存在于不同的文件之中,這種做法顯得太麻煩。但有些時(shí)候,你選擇檢查一些很大型的庫,F(xiàn)low可能會(huì)不是那么準(zhǔn)確。在這種情況下,我們可以手動(dòng)地采用“類型注解”或者切換到“弱模式”下限制其類型引用來解決問題。
2. Flow的類型檢查是在線的
在對(duì)代碼庫進(jìn)行檢查時(shí),F(xiàn)low會(huì)對(duì)其做一個(gè)初步的分析,然后會(huì)在后臺(tái)對(duì)后續(xù)變化做持續(xù)的監(jiān)測(cè),類型檢查,以及依賴檢查。對(duì)開發(fā)者來說,意味著不需要花大把的時(shí)間在編譯之上。當(dāng)批量保存文件的時(shí)候,會(huì)自動(dòng)觸發(fā)Flow的類型檢查,會(huì)并把結(jié)果持久化,以備再用。
使用與期望
Flow是一個(gè)由Facebook出品的新新庫,大量的特性還在開發(fā)過程之中。其長(zhǎng)遠(yuǎn)的目標(biāo)是:想讓JavaScript
的開發(fā)體驗(yàn)變得更好,而不用去妥協(xié)語言中最本質(zhì)的東西。我們想要開發(fā)者擁有強(qiáng)大的工具,去明白如何去維護(hù)他們的代碼,更方便安全地復(fù)用與優(yōu)化他們的代碼。在早期選擇開源,也是希望能給Flow一個(gè)機(jī)會(huì),快速地在所有開發(fā)者面前成長(zhǎng)起來。
接下來,我會(huì)講到一些例子,幫助大家快速了解Flow如何工作,以及如何通過Flow讓我們更好的工作。
- javascript 靜態(tài)樹菜單實(shí)現(xiàn)代碼
- js靜態(tài)方法與實(shí)例方法分析
- 禁止IIS緩存靜態(tài)文件的方法(png,js,html等)
- extjs 3.31 TreeGrid實(shí)現(xiàn)靜態(tài)頁面加載json到TreeGrid里面
- Javascript獲取HTML靜態(tài)頁面參數(shù)傳遞值示例
- JSP中動(dòng)態(tài)include與靜態(tài)include的區(qū)別介紹
- jsp中include指令靜態(tài)導(dǎo)入和動(dòng)態(tài)導(dǎo)入的區(qū)別詳解
- AngularJS入門教程(一):靜態(tài)模板
- Flow之一個(gè)新的Javascript靜態(tài)類型檢查器
相關(guān)文章
javascript設(shè)計(jì)模式之鴨子類型和多態(tài)
這篇文章主要為大家介紹了javascript鴨子類型和多態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>2022-01-01

JavaScript中constructor()方法的使用簡(jiǎn)介

詳解JavaScript對(duì)W3C DOM模版的支持情況

Javascript獲取窗口(容器)的大小及位置參數(shù)列舉及簡(jiǎn)要說明