Rumah >hujung hadapan web >tutorial js >Adakah Menggugurkan Tanda Kurung dalam Operator `baru` JavaScript Sah?

Adakah Menggugurkan Tanda Kurung dalam Operator `baru` JavaScript Sah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 16:36:111008semak imbas

Is Omitting Parentheses in JavaScript's `new` Operator Valid?

Pengguguran Tanda Kurung dalam Penciptaan Objek Menggunakan Operator "baharu"

Penggunaan kurungan semasa mencipta objek menggunakan operator "baru" telah mencetuskan beberapa perbahasan. Lazimnya dipercayai bahawa kurungan adalah wajib, seperti yang dilihat dalam coretan kod seperti berikut:

const obj = new Foo();

Walau bagaimanapun, telah diketahui bahawa JavaScript membenarkan sintaks alternatif, yang mana kurungan ditinggalkan.

const obj = new Foo;

Timbul persoalan: adakah sintaks yang terakhir ini sah dan diiktiraf oleh ECMAScript standard?

Menurut pengarang yang dihormati David Flanagan, jawapannya adalah ya. JavaScript, dalam kes khas untuk pengendali "baharu", menyediakan pilihan untuk meninggalkan kurungan jika tiada argumen dalam panggilan fungsi.

Walaupun kedua-dua bentuk sintaksis adalah sama sah, meninggalkan kurungan datang dengan beberapa kelemahan yang berpotensi . Peminat JavaScript linter JSLint mungkin mendapati kod mereka dihukum, kerana ia menguatkuasakan kemasukan kurungan dalam kes sedemikian.

Dalam skema besar perkara, ia adalah soal keutamaan peribadi. Walau bagaimanapun, untuk konsistensi dan untuk mengelakkan amaran serabut yang berpotensi, secara amnya disyorkan untuk mematuhi konvensyen yang lebih luas.

Atas ialah kandungan terperinci Adakah Menggugurkan Tanda Kurung dalam Operator `baru` JavaScript Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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