Pekerjaan saya sehari-hari adalah pengembang klien menggunakan AngularJS. Kami sedang mengevaluasi jika kami ingin menggunakan TypeScript. Saya melakukan penelitian pada naskah dan hampir setiap paket JavaScript yang saya butuhkan harus memiliki file jenis definisi. Saya menemukan itu sangat tidak nyaman, terutama jika saya ingin mencoba sesuatu yang baru dan mereka tidak memiliki definisi untuk itu. Benar-benar membuat frustrasi. (Bahkan definisi jQuery saat ini memberi saya beberapa masalah jika saya ingin menggunakan naskah 1,5 beta). Saya mulai melihat ES6 dan tampilannya mirip dengan TypeScript. Haruskah saya menggunakan ES6 saja? Juga, saya dengar angular 2 akan memiliki dukungan penuh untuk TypeScript, apakah itu menjadi salah satu alasan saya harus tetap menggunakannya?
sumber
declare var MyNewLibraryName: any;
kemudian menggunakannya sesuka Anda tanpa kompiler mengeluh.Jawaban:
Saya telah menggunakan naskah dalam proyek sudut saya saat ini selama sekitar satu setengah tahun dan sementara ada beberapa masalah dengan definisi setiap sekarang dan kemudian proyek DefinitelyTyped melakukan pekerjaan luar biasa untuk mengikuti versi terbaru dari perpustakaan paling populer.
Setelah mengatakan bahwa ada kurva pembelajaran yang pasti ketika transisi dari JavaScript vanilla ke TS dan Anda harus memperhitungkan kemampuan Anda dan tim Anda untuk melakukan transisi itu. Juga jika Anda akan menggunakan sudut 1.x sebagian besar contoh yang akan Anda temukan online akan mengharuskan Anda untuk menerjemahkannya dari JS ke TS dan secara keseluruhan tidak ada banyak sumber daya dalam menggunakan TS dan sudut 1.x bersama-sama sekarang. .
Jika Anda berencana menggunakan sudut 2 ada banyak contoh menggunakan TS dan saya pikir tim akan terus memberikan sebagian besar dokumentasi di TS, tetapi Anda tentu tidak harus menggunakan TS untuk menggunakan sudut 2.
ES6 memang memiliki beberapa fitur yang bagus dan saya pribadi berencana untuk lebih mengenalnya tetapi saya tidak akan menganggapnya bahasa siap produksi pada saat ini. Terutama karena kurangnya dukungan oleh browser saat ini. Tentu saja, Anda dapat menulis kode Anda dalam ES6 dan menggunakan transpiler untuk mendapatkannya ke ES5, yang tampaknya menjadi hal yang populer untuk dilakukan saat ini.
Secara keseluruhan saya pikir jawabannya akan mengarah pada apa yang Anda dan tim Anda pelajari dengan nyaman. Saya pribadi berpikir baik TS dan ES6 akan memiliki dukungan yang baik dan masa depan yang panjang, saya lebih suka TS karena Anda cenderung mendapatkan fitur bahasa lebih cepat dan sekarang dukungan tooling (menurut saya) sedikit lebih baik.
sumber
Pohon keputusan antara ES5, ES6 dan TypeScript
Keterangan lebih lanjut
ES5 adalah JavaScript yang Anda kenal dan gunakan di browser hari ini. Ini adalah apa itu dan tidak memerlukan langkah membangun untuk mengubahnya menjadi sesuatu yang akan berjalan di browser saat ini.
ES6 (juga disebut ES2015 ) adalah iterasi berikutnya dari JavaScript, tetapi tidak berjalan di browser saat ini. Ada beberapa transponder yang akan mengekspor ES5 untuk berjalan di browser. Ini masih merupakan bahasa yang dinamis (baca: tidak diketik).
TypeScript menyediakan sistem pengetikan opsional sambil menarik fitur dari versi JavaScript masa depan (ES6 dan ES7).
Catatan: banyak transponder di luar sana (yaitu babel, TypeScript) akan memungkinkan Anda untuk menggunakan fitur dari versi JavaScript hari ini dan mengekspor kode yang masih akan berjalan di browser hari ini.
sumber