1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        前端項目到底需不需要 TypeScript ?

        共 2328字,需瀏覽 5分鐘

         ·

        2023-09-13 21:35

        點擊關注公眾號,回復”抽獎” 

        Hello,諸位前端工程師,今天由我來從一個 CRUD 開發(fā)工程師的角度聊一聊這個 “敏感” 的話題。

        有一個現(xiàn)象

        就是你不難發(fā)現(xiàn),大多數(shù)能力比你強的前端工程師,要么在鼓勵大家用 TS,要么就是自己的開源項目采用了 TS。

        而這種現(xiàn)象通常會在技術領域會傳播下來,普及給所有程序員。就像 Vue/React 等框架都有大廠開始大量使用后,再慢慢普及到小廠,最后幾乎所有程序員都被普及到了(畢竟你不會就找不到工作了)。

        而大廠嘗試使用一門技術,并且成功落地之后并沒有拋棄它,而是在更多的項目中使用,這種時候基本上就可以說這門技術的優(yōu)點是比較明顯的,被普及的概率也就非常大了。

        正好,TS 就符合這個現(xiàn)象和普及規(guī)律。

        也就是說,按照這個規(guī)律我們其實可以得出一個簡單的結(jié)論:前端項目中使用 TS 是優(yōu)大于弊的,并且以后 TS 會被普及

        有一個誤區(qū)




        這種評論見多了,起初我真的很想回復一些什么來反駁反駁,后來想一想,其實就是他們當前太菜了...

        因為我實在是想不明白 TS 降低開發(fā)效率是怎么得出來的?

        1. 如果你說你玩上了類型體操,開發(fā)效率降低了,那我想說的是,能力不夠是可以不玩類型體操的,能夠玩上類型體操的也不會吐出這么低級的槽,CRUD 也完全不需要類型體操
        2. 如果你說你初始化一個項目,進行各種 TS 配置和導包,出現(xiàn)大量報錯不知所措,那說明你還不具備從零搭建一個TS 項目的能力,本質(zhì)上還是你 TS 以及生態(tài)不熟悉,那你可以選擇去開源社區(qū)找一個模板,等使用熟悉后再試著自己搭建,不要一開始就磨滅了自己的興致
        3. 如果你覺得你定義一個 const a = 1,也要寫成 const a: number = 1 是降低了開發(fā)效率,那其實是你還不習慣罷了,畢竟我剛學 TS 的第一天也有這種心理

        或者這樣,假設你們說的都是事實,就是 TS 降低了開發(fā)效率。但是 TS 沒有優(yōu)點嗎?TS 的優(yōu)點就沒有一個能打贏 “降低開發(fā)效率” 這個假設嗎?

        我覺得應該是有的吧,說幾個 CRUD 時就能體會到的:

        1. 一個變量原本是 string 類型,但是在某一處給這個變量賦值的時候,賦值成了 number 類型,你開發(fā)時發(fā)現(xiàn)程序無論如何都跑不對,定位半天發(fā)現(xiàn)原來是類型錯誤
        2. 還是這個變量,你賦值錯了,但是由于對應功能不常用,上線前沒有測試出來,導致出現(xiàn)了嚴重生產(chǎn)環(huán)境問題,你即將被追責
        3. 后期維護時,不用再到處翻找上下文就能立即知道變量類型
        4. 幾乎不會再出現(xiàn) ReferenceError:“x” is not defined

        就這三個比較常見的點,哪一個帶來的問題不能打贏 “降低開發(fā)效率”?就難道 ReferenceError:“x” is not defined 時你不需要花費時間定位問題嗎?更別說出現(xiàn)生成環(huán)境問題了

        有需求就有市場



        隨意截取了其他 TS 文章下的兩則評論,類似的不支持 TS 的評論還有很多,幾乎每一篇相關文章下面都會見到。

        但是事實是,從 TS 出現(xiàn),到現(xiàn)在的高熱度和高采用,足以說明它在市場上是有足夠多的需求的,并不會因為所謂的 “TS 沒有 JS 靈活” 或 “JS 是弱類型,比 TS 更優(yōu)勢” 等觀點左右它的需求量。

        意思就是你必須使用 TS 嗎?

        那也當然不是,你可以繼續(xù)使用 JS,就像現(xiàn)在你依舊可以使用 JQ。

        但...

        你真的有不學習、不使用 TS 的資本嗎?將好像 JQ 時代過渡到 Vue/React 時代的時候一樣,多少人嚷著 JQ 更優(yōu)秀、市場占有率更高,操作 DOM 多么的靈活,Vue 等框架心智負擔多么的大,學 Vue 前必須先學習 JQ 等等... 現(xiàn)在在看看呢?你還能再招聘 JD 上看見只要求你會 JQ 的崗位嗎?

        所以說啊,哪怕只是為了你的飯碗,你也應該去學一學 TS、用一用 TS。

        不要做低級程序員

        優(yōu)秀的程序員總是在技術普及之前就研究它的思想,總結(jié)它的優(yōu)缺點,嘗試將其落地。

        大眾程序員總是在普及的時候才開始學。

        而最低級的程序員只有等自己找不到工作了才會被迫開始學。

        善意的提醒

        隨著 Vue3 的普及,開源社區(qū)優(yōu)秀的模板都是擁抱的 TS 的(React 那就更早了),而大多數(shù)公司的項目都是基于這些模板進行開發(fā)的。如果不出意外的話,招聘 JD 上會出現(xiàn)越來越多的 TS 字樣。

        還是那句話,哪怕只是為了自己飯碗。


        如果文章對你有幫助的話歡迎
        「關注+點贊+收藏」

        瀏覽 573
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            美女被操到爽的视频 | 就爱操逼网 | 三上悠亚ssni | 尻屄视频免费观看 | 在线观看无码视频 | 好硬好深操我啊啊 | 又粗又硬又爽免费看视频 | 亚洲电影久久久 | 国产精品无码免费 | 奇米久久|