Tafsiran JavaScript nombor dengan sifar pendahuluan mempunyai sejarah yang kompleks. Pada asalnya, 0 pendahuluan pada literal berangka menetapkan nombor itu sebagai perlapanan (asas 8), serupa dengan awalan heksadesimal (asas 16) 0x. Amalan ini, walau bagaimanapun, membawa kepada kekeliruan.
Dalam JavaScript moden menggunakan mod ketat, format perlapanan warisan tidak lagi dibenarkan; ia dianggap sebagai ralat sintaks. Untuk mengelakkan kekaburan, nombor perlapanan kini mesti dinyatakan secara eksplisit menggunakan awalan 0o, manakala nombor perpuluhan tidak boleh mempunyai sifar pendahuluan.
Dalam contoh yang disediakan, nombor 040 ditafsirkan sebagai perlapanan disebabkan oleh pendahuluan 0. Ini bermakna ia ditukar kepada asas 10 bersamaan, iaitu 32.
Penggunaan sifar pendahuluan untuk menunjukkan literal perlapanan kembali ke zaman awal bahasa JavaScript. Walau bagaimanapun, apabila bahasa itu berkembang, terdapat kebimbangan tentang sifat mengelirukan amalan ini. Potensi penghuraian perlapanan secara tidak sengaja boleh membawa kepada hasil yang tidak dijangka dan kelemahan keselamatan.
Untuk mengelakkan kekaburan dan memastikan penghuraian nombor yang konsisten, adalah disyorkan untuk mengikuti amalan terbaik ini:
Dengan mematuhi garis panduan ini, anda boleh memastikan pengendalian nombor yang jelas dan boleh diramal dalam kod JavaScript anda.
Atas ialah kandungan terperinci Bagaimanakah JavaScript Mengendalikan Sifar Utama dalam Nombor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!