如今es8都出了 ,還有必要用ts嗎?
最近在學ts 總得來說我挺喜歡的。但是覺得和現在的es比起來就多了類型檢查這一項了 ,而且今天用ts寫vue又碰到一個坑。
在mixin裡面混入全局的方法 在組件里不能調用 log 了一下this 裡面明明有mixin里的方法 但是卻會報錯 。最無語的一點是 ,可以在template 寫mixin里的方法而不會報錯 !有沒有踩過坑的大神 救救我!!!@尤雨溪
大哥,一個幾萬行代碼的項目下來,產出的tsd文件有幾千行了(各種資料庫orm、webapi輸入輸出聲明、組件參數和狀態),這些是天然的代碼規範、文檔,這些es可給不了你,類型聲明慢慢變成事實規範了,看好es10之前靜態類型納入規範。
emmm...感覺這好像可以拆分成兩個問題呀?
# 關於vue下typescript的使用
如果使用Typescript的話,比起mixin,似乎vue-class-component這樣的方案更合適一些~?也是官網上的文檔推薦的做法。
# 關於Typescript
Typescript最重要的價值就是類型注釋,這真不是「不就是」這種措辭能夠一句話帶過的東西……
對動態類型的語言進行靜態代碼分析應該是一件很扯淡的事情,在不少場景下,動態類型帶來的坑比它帶來的便利性要麻煩多了。
試過不小心把一個返回值為Promise&
試過使用別的同事封裝的網路訪問函數(比如setxxx這種的)時,沒有返回Promise卻直接返回了一個void嗎?
而Typescript配合編輯器/ide的提示工具,就能在你寫代碼是幫你避免這種愚蠢又致命的bug……
親測可用(還敢不敢題目不好好寫了?)
/*
頭鐵的同學可以試試
vue init ElemeFE/webpack-typescript#develop project-name
不建議初學者體驗,因為施工現場比較危險。
*/
不管ES 6,還是什麼ES 7、ES 8的,我當然還要用TypeScript,只要我寫Angular。
用跟不用,都是相對的,如果只是限制自己的流派,那你就是追尋你合適的技術棧及相匹配的職位;還有一類人,則是反過來看業務開發需要用什麼技術,然後就想辦法去嘗試、了解這個技術。路是自己走的,思維方式決定了自己的路。
ts相當於es + flow。
當js原生支持類型系統的時候或者ts跟不上es的變化時就不需要ts了。1 ts是靜態類型檢測,而mixin是運行時執行的,檢測不到很正常。
2 template不檢測啥定義不定義的。
有class還用啥mixin啊 react都把mixin幹掉了 直接寫個基類extend啊文不對題 標題黨嘛。
沒有了
為啥不用?一款語言能夠活到現在,並且活的還不錯,優勢肯定並不僅僅只在彌補另外一種語言的缺陷。TS 本身就不打算走現在 JS 走的路,況且下載 TS 有微軟爸爸站台,你會覺得他沒有社區?
感覺,關鍵點在於,可能你真的還沒寫熟~
不過,如果你覺得 ES8 比較靠譜,你也可以選擇。反正到後面,你會覺得語言還好,最重要的是語言下面包含的技術,真的是炒雞多。。。
現在的 WebAssembly 你會說他只是 JS?
現在的 Service Worker 你會認為它只有 JS?
甚至是 Docker ?
這些都是語言甚至超出語言裡面,你所需要了解和學習的。
等你接手一個代碼量巨大的項目的時候,你會發現,js根本無法維護。ts才可以。
typescript 最好先編譯成 es6 (es2015+)
ecmascript目前為止無類型計劃 typescript 具有類型限制 可以解決團隊協作問題 比如公司類庫
謝邀 ,這個問題勉強能答一發。
目前項目比較複雜,大約八萬多行js代碼,大小兩百個組件,功能逐步迭代,。
決定要上靜態類型,敲定flow,一陣小失望。不過應該等到十一之後才會組織學習實踐,說不定到時候覺得ts好 ,又上 ts 呢 。
大學時搞過兩年c#,唯美,優雅 ,畢業半年,偶爾聽到c# 或者 .net 一陣親切。
ts作為es的超集,吸收了c#等強類型語言的優點 。
1. 強類型。 加入靜類型檢查,在編譯時就能發現潛在bug,也能大幅度提供開發效率。2 介面 ts的介面對於flow是獨有的,面向介面編程的風格為程序提供一種約束。3 能夠導出.d.ts聲明文件,提供開發時智能提示,這對於提高開發效率是莫大的幫助。4 作為微軟親兒子,ts能得到長期的維護,vs code 也是一款非常優秀的編輯器。ts非常優秀,不斷升級,有非常大的活躍度。
但是,作為 es的超集,它為es增加的主要功能就是上面一下,如果有錯,歡迎補充。在熟練es8的情況下,學習ts並用於生產環境也不過是一兩天的事,最多一個周。
回歸題目,縱使 es9 問世,也無法撼動 ts 的地位。題主也不比著急,學好es,熟練使用,等到項目需要或者自己有興趣,拉出來學一學直接用就可以了。
溜了溜了,其實要睡了。請各位大佬 不要介意標題 畢竟寫的不夠吸引人 我怕沒人來!我個人是十分喜歡ts的 而且 用ts寫vue組件顯得更加整潔優美 很適合我這種處女座的 !提問的主要內容是下面的問題 下面的問題 下面的問題 !...重要的事情要說三遍!
出了那你就試試啊,出了又怎麼樣,es6都還沒普及完畢呢,用來用去也不就是babel編譯成可用的js,ts也是編譯,但有個強類型總比沒有好啊。
推薦閱讀:
※v-on 綁定事件時,函數名加括弧和不加括弧有什麼區別?
※閱讀vue.js源碼可以從哪幾方面入手?
※vue開發的項目,前端寫的.vue文件中的生命周期方法,線上還存在嗎?
※jQuery的ajaxSubmit如何實現批量圖片非同步上傳?