Rumah > hujung hadapan web > tutorial js > Adakah Sisipan Titik Bertitik Automatik JavaScript Sentiasa Mencegah Ralat?

Adakah Sisipan Titik Bertitik Automatik JavaScript Sentiasa Mencegah Ralat?

Susan Sarandon
Lepaskan: 2024-12-23 16:05:15
asal
850 orang telah melayarinya

Does JavaScript's Automatic Semicolon Insertion Always Prevent Errors?

Nuansa Sisipan Koma Bertitik Automatik JavaScript

Menjelaskan Kebolehgunaan ASI

Sisipan koma bertitik automatik (ASI) ialah ciri JavaScript yang secara automatik memasukkan koma bertitik ke dalam kod apabila ia hilang dan tidak akan menyebabkan kesalahan sintaksis. Walau bagaimanapun, ia hanya digunakan pada jenis pernyataan tertentu:

  • Pernyataan kosong
  • Pengisytiharan boleh ubah
  • Pernyataan ungkapan
  • Pernyataan buat sementara
  • Teruskan kenyataan
  • Berhenti penyata
  • Kembalikan penyata
  • Baling penyataan

Peraturan ASI mengikut Spesifikasi ECMAScript

Spesifikasi ECMAScript mentakrifkan tiga senario untuk ASI:

1. Token Tidak Sah Ditemui

Token yang menyinggung perasaan yang tidak dibenarkan oleh tatabahasa mencetuskan sisipan koma bertitik jika:

  • Ia dipisahkan daripada token sebelumnya dengan pemutusan baris.
  • Ia diikuti dengan }.

2. Tamat Strim Input

Jika strim input tamat tanpa penghurai dapat menghuraikan atur cara yang lengkap, koma bertitik disisipkan pada penghujungnya.

3. Pengeluaran Terhad

Apabila token dibenarkan tetapi tergolong dalam "pengeluaran terhad" (cth., kembali atau teruskan tanpa pemisah baris), koma bertitik disisipkan di hadapannya.

Contoh:

return
"something";
Salin selepas log masuk

berubah kepada:

return;
"something";
Salin selepas log masuk

Pengecualian kepada Peraturan

Walau bagaimanapun, terdapat pengecualian kepada peraturan. Jika ASI akan mengakibatkan SyntaxError, ia tidak dimasukkan. Sebagai contoh, dalam kod berikut:

if (x)
return
  y;
Salin selepas log masuk

ASI akan mengubahnya menjadi:

if (x)
return;
y;
Salin selepas log masuk

Ini akan menyebabkan SyntaxError kerana y bukan pernyataan yang sah sendiri.

Atas ialah kandungan terperinci Adakah Sisipan Titik Bertitik Automatik JavaScript Sentiasa Mencegah Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan