Rumah > Artikel > hujung hadapan web > Mengapakah Operator Ternary JavaScript Berkelakuan Berbeza Apabila Digunakan dengan Operator ` =`?
Keutamaan Operator Ternary dan Operator JavaScript
Memahami susunan operasi dilakukan dalam kod adalah penting untuk mengelakkan hasil yang tidak dijangka. Dalam JavaScript, operator ternary membentangkan cabaran biasa, terutamanya apabila digabungkan dengan operator lain.
Pertimbangkan coretan kod berikut:
h.className += h.className ? ' error' : 'error'
Seseorang mungkin menganggap bahawa kod tersebut beroperasi seperti berikut:
h.className = h.className + h.className ? ' error' : 'error'
Walau bagaimanapun, tafsiran ini tidak betul kerana ia mengakibatkan ralat konsol. Untuk memahami kod dengan betul, adalah penting untuk mempertimbangkan keutamaan pengendali.
Jawapan:
Kunci untuk memahami kod adalah untuk menyedari bahawa pengendali lebih diutamakan daripada ternary pengendali. Oleh itu, kod menilai seperti berikut:
h.className = h.className + (h.className ? ' error' : 'error')
Dalam kes ini, operator menggabungkan h.className dengan hasil operator ternary. Pengendali ternary menyemak kebenaran h.className dan mengembalikan 'ralat' jika ia benar, atau 'ralat' sebaliknya.
Untuk mengelakkan kekeliruan, adalah dinasihatkan untuk menyatakan secara eksplisit tentang sasaran operasi. Dalam kes ini, menggunakan kurungan untuk mengumpulkan ungkapan memastikan pengendali digunakan pada h.className, seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapakah Operator Ternary JavaScript Berkelakuan Berbeza Apabila Digunakan dengan Operator ` =`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!