Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Sekiranya JavaScript menambah koma bertitik?

Sekiranya JavaScript menambah koma bertitik?

青灯夜游
Lepaskan: 2022-09-29 17:25:04
asal
3406 orang telah melayarinya

Koma bertitik dalam JavaScript adalah pilihan Menambah atau tidak menambah koma bertitik adalah terutamanya mengenai gaya pengekodan, tetapi jangan tambahkannya untuk seketika dan jangan tambahkannya untuk seketika. Biasanya, jika pernyataan bermula dengan "(", "[", "/", " ", atau "-", ia boleh ditafsirkan sebagai sebahagian daripada baris pernyataan sebelumnya; dalam kes ini, anda boleh menambah koma bertitik secara defensif pada permulaan baris .

Sekiranya JavaScript menambah koma bertitik?

Persekitaran pengendalian tutorial ini ialah: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3

Koma bernoktah dalam JavaScript adalah pilihan Ya, sama ada untuk menambah koma bertitik atau tidak adalah masalah gaya pengekodan elakkan menambah koma bertitik sebanyak mungkin, hanya apabila perlu

Sekiranya JavaScript menambah koma bertitik?

Nota: Anda boleh menambah koma bertitik atau tidak, tetapi jangan tambahkannya untuk a. manakala. >

Peranan koma bertitik dalam kodPeranan utama koma bertitik ialah: penegasan sebagai pernyataan (EOS) digunakan untuk menamatkan pernyataan program, dengan tujuan membenarkan penghuraian Pengkompil menghuraikan program dengan betul Dalam kebanyakan bahasa Gaya-C, koma bertitik digunakan untuk menamatkan baris pernyataan secara eksplisit, terutamanya untuk mengurangkan kos pembangunan pengkompil bahasa, tetapi penyusun moden cukup bijak untuk mengendalikan berbilang. -pernyataan baris dengan baik. Banyak bahasa tidak perlu menggunakan pengakhiran koma bertitik secara eksplisit, seperti: Go, Scala, Ruby, Python, Swift, Groovy, dll.

Walaupun JavaScript ialah bahasa seperti C, ia berbeza daripada C dan Java , koma bertitik juga adalah pilihan dalam JavaScript, ia menggunakan Auto Semicolon Insertion (ASI)

JavaScript mekanisma penyisipan koma bertitik automatik JavaScript mempunyai mekanisme penyisipan titik koma bertitik automatik (Pemasukan Koma Koma Automatik), dirujuk sebagai ASI Terdapat penerangan yang jelas tentang Penyisipan Koma Koma Automatik dalam ECMA-262 - Penyisipan Koma Koma Automatik:

Program dihuraikan dari kiri ke kanan Apabila token (token offending) ditemui yang tidak menepati sebarang pengeluaran tatabahasa, koma bertitik akan dimasukkan secara automatik di hadapan token offending selagi salah satu syarat berikut dipenuhi. .
    Sekurang-kurangnya satu aksara baris baharu (LineTerminator) memisahkan token yang menyinggung daripada token sebelumnya
  • Token yang menyinggung ialah

dihuraikan dari kiri ke kanan. aliran input token telah tamat Apabila penghurai tidak dapat menghuraikan aliran token input ke dalam satu atur cara ECMAScript yang lengkap, koma bertitik dimasukkan secara automatik pada penghujung aliran input.

}

Menghuraikan atur cara dari kiri ke kanan, menemui token yang dibenarkan oleh pengeluaran tatabahasa tertentu, tetapi ia adalah operasi terhad (Pengeluaran Terhad), apabila sekurang-kurangnya satu aksara baris baharu memisahkan token terhad objek dan token sebelumnya, kemudian koma bertitik disisipkan secara automatik di hadapan token terhad.
  • Walau bagaimanapun, peraturan di atas mempunyai syarat keutamaan tambahan: jika koma bernoktah disisipkan dan hasil penghuraian ialah pernyataan kosong, atau jika koma bertitik disisipkan dan ia menjadi salah satu daripada dua koma bertitik di kepala untuk pernyataan, maka tiada titik bertitik A disisipkan secara automatik.

  • Nota: Terjemahan penerangan di atas adalah janggal Anda boleh membacanya beberapa kali atau membaca teks asal Bahasa Inggeris ECMA-262 - Sisipan Titik Bertitik Automatik

    <.>

    situasi sisipan automatik titik -titik

untuk meringkaskan secara ringkas, pemasangan titik koma automatik adalah berdasarkan penggantian baris. jika ia memenuhi peraturan ASI. Anggap baris baharu sebagai pernyataan bebas

Peraturan sisipan automatik utama ialah:

Apabila baris baharu digabungkan ke dalam baris semasa, ia akan membentuk pernyataan yang tidak sah Apabila ia tidak dapat dihuraikan dengan betul, koma bertitik

akan dimasukkan secara automatik apabila baris baharu bermula dengan

, iaitu penghujung daripada blok kod. Koma bertitik
  • akan dimasukkan secara automatik

    Apabila berakhir dengan pernyataan
  • , koma bertitik disisipkan secara automatik di hujung baris
  • }

    Apabila berakhir dengan pernyataan
  • , koma bertitik disisipkan secara automatik di hujung baris
  • return

    Apabila berakhir dengan pernyataan
  • , koma bertitik ialah disisipkan secara automatik pada penghujung baris
  • break

    Apabila ia berakhir dengan pernyataan
  • e, koma bernoktah dimasukkan secara automatik pada penghujung baris Masukkan koma bertitik
  • throw

    Apabila berakhir dengan pernyataan hasil ES6, koma bertitik
  • continu

    ,
  • akhiran dimasukkan secara automatik di hujung baris Ungkapan berfungsi sebagai permulaan baris baharu dan koma bertitik
  • secara automatik disisipkan pada permulaan baris Simbol
  • -- dimasukkan secara automatik di bahagian. hujung fail kod sumber, seperti yang ditunjukkan di atas Jika tiada koma bertitik, menjalankan kod ini akan melaporkan ralat.

  • Koma bernoktah tidak boleh ditinggalkan

Biasanya, jika pernyataan bermula dengan

,

, , , pada permulaan, ia boleh ditafsirkan sebagai sebahagian daripada baris pernyataan sebelumnya. Sebenarnya, terdapat sangat sedikit ayat yang bermula dengan ,

dan

. Tetapi kenyataan yang bermula dengan (, [ adalah sangat biasa, dan biasanya saya boleh menambah koma bernoktah secara bertahan pada permulaan baris. /

Terdahulu, kita telah mengetahui tentang sisipan automatik koma bertitik, kini mari kita lihat beberapa contoh

let hey = &#39;hey&#39;
[&#39;liu&#39;,&#39;liuxing&#39;].forEach(console.log)
Salin selepas log masuk

Fikirkan tentang keputusan di atas sebentar? Menjalankan kod ini akan membuang

Uncaught TypeError: Cannot read property &#39;forEach&#39; of undefined
Salin selepas log masuk

Berdasarkan peraturan 1. Kod di atas akan dihuraikan ke dalam kod berikut

let hey = &#39;hey&#39;[&#39;liu&#39;,&#39;liuxing&#39;].forEach(console.log)
Salin selepas log masuk

Ia boleh dilihat bahawa menggunakan pernyataan bermula dengan [, sebelumnya Tanpa koma bernoktah, ralat mungkin berlaku.

Mari kita lihat contoh kod pernyataan yang bermula dengan (

const a = 1
const b = 2
const c = a + b
(a + b).toString()
Salin selepas log masuk

Adakah anda fikir hasil kod di atas ialah "3"? Tetapi sebenarnya ia akan membuang ralat b is not a function, kerana mengikut peraturan ASI, ia akan dihuraikan ke dalam kod berikut:

const a = 1;const b = 2;const c = a + b(a + b).toString()
Salin selepas log masuk

Kami tidak akan memperkenalkan /, , <🎜 satu persatu > Sebagai permulaan kenyataan, situasi ini agak jarang berlaku, anda boleh mencuba sendiri. Ingatlah bahawa apabila pernyataan bermula dengan -, (, [, /, , anda perlu menambah koma bertitik sebelum pernyataan itu! -

Mari kita lihat penggunaan pulangan

(() => {
  return
  {
    name: &#39;Liu Xing&#39;
  }
})()
Salin selepas log masuk
Adakah jangkaan anda mengembalikan objek dengan

, tetapi ia mengembalikan name. Ini ialah ASI secara automatik menambah koma bertitik pada undefined. Di sini anda perlu membalut baris dengan betul untuk memastikan kod berjalan dengan betul. Kita dapat melihat bahawa selain koma bertitik yang betul, kita juga memerlukan pemisah baris yang betul dan munasabah untuk menjadikan struktur kod lebih jelas. return

Ringkasan

Kami telah mempelajari tentang mekanisme penyisipan koma bertitik automatik JavaScript dan apabila JavaScript akan menambah koma bertitik secara automatik Dalam

, ( , [, /, memerlukan kami menambah koma bertitik dengan tepat pada permulaan. Mekanisme Sisipan Titik Bertitik Automatik memberi kita dua pilihan, dengan atau tanpa koma bertitik? Semuanya bergantung pada pilihan anda atau pasukan anda Kini kami juga mempunyai alat seperti lebih cantik dan Eslint untuk menyatukan gaya secara automatik. -

[Cadangan berkaitan:

tutorial video javascript, Video pengaturcaraan asas]

Atas ialah kandungan terperinci Sekiranya JavaScript menambah koma bertitik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan