Saya telah melihat posting tentang di mana harus meletakkan "gunakan ketat" baris dalam file kode TypeScript. Pertanyaan saya adalah, mengapa harus ada?
Karena TypeScript sudah merupakan bahasa yang diketik dengan kuat, apa yang ditambahkan "gunakan ketat"?
javascript
typescript
DeborahK
sumber
sumber
"use strict";
Jawaban:
Pembaruan
"use strict";
dipancarkan dalam modul ( Baca lebih lanjut ).--alwaysStrict
opsi kompilator mem-parsing semua file dalam mode ketat dan memancarkan"use strict"
di atas semua file yang di-output ( Baca lebih lanjut ).Anda dapat menemukan daftar beberapa contoh dengan mencari tes TypeScript untuk "dalam mode ketat".
Berikut beberapa contoh kode yang hanya akan menimbulkan kesalahan waktu kompilasi saat Anda
"use strict";
:Ada beberapa contoh lagi di mana
"use strict";
akan membuang kesalahan hanya saat runtime. Sebagai contoh:Secara pribadi, saya tidak menemukan itu semua yang berguna untuk mencegah saya membuat kesalahan dalam TypeScript dan kebisingan tambahan yang ditambahkan ke file membuat saya tidak repot-repot menulisnya. Yang mengatakan, mulai di TS 2.1 saya akan mengaktifkan
--alwaysStrict
opsi kompiler karena menambahkan sedikit keketatan tambahan tanpa overhead pemeliharaan kode.sumber
use strict
string apa pun yang dideklarasikan di bagian atas file TS dapat muncul di dalam fungsi modul alih-alih di bagian atas file, sehingga sedikit mengubah semantik."use strict;"
Untuk uang saya, ya ,
"use strict";
harus dimasukkan dalam file TypeScript.Mengabaikan efek waktu kompilasi
"use strict";
pada pada ScriptScript, ada kemungkinan dampak runtime ketika javascript yang dihasilkan dijalankan:MDN mengidentifikasi peningkatan kinerja dalam menghindari tinju
this
dalam panggilan fungsi, dan penghapusanfunction.caller
danfunction.arguments
properti.Jeff Walden dari Mozilla juga mengisyaratkan peluang untuk peningkatan kinerja dalam jawaban ini .
sumber