Menyingkap Gelagat Menarik bagi JavaScript: Sifar Terkemuka dan Penghuraian Nombor
Perlakuan JavaScript terhadap nombor dengan sifar pendahuluan ialah fenomena pelik yang boleh mengelirukan pengaturcara. Apabila menemui nombor dengan sifar pendahuluan, seperti 010, enjin JavaScript mentafsirkannya sebagai nombor perlapanan, menghasilkan nilai 8 yang tidak dijangka.
Akar Sejarah: Mentafsir Huruf Oktal
Secara sejarah, ECMAScript 3 memperkenalkan sambungan pilihan yang membenarkan penghuraian literal dengan sifar pendahuluan sebagai nombor perlapanan. Walau bagaimanapun, ECMAScript 5 menamatkan amalan ini dalam mod yang ketat, melarang sintaks yang memanjangkan NumericLiteral untuk memasukkan OctalIntegerLiteral.
Kedatangan Literal Integer Binari dan Octal
ECMAScript 6 memperkenalkan binaan khusus untuk literal integer binari dan oktal: BinaryIntegerLiteral dan OctalIntegerLiteral. Literal ini diawali dengan 0b atau 0B untuk perduaan dan 0o atau 0O untuk perlapanan. Sambungan OctalIntegerLiteral dahulu telah dinamakan semula kepada LegacyOctalIntegerLiteral dan masih dibenarkan dalam mod tidak ketat.
Mencegah Tafsiran Oktal
Untuk mengelakkan penukaran yang tidak diingini kepada oktal, terdapat beberapa strategi untuk digunakan:
Kesimpulan
Memahami gelagat JavaScript dengan sifar pendahuluan adalah penting untuk penghuraian nombor yang tepat. Dengan menggunakan kaedah dan awalan yang sesuai, pengaturcara boleh menghalang tafsiran nombor yang tidak diingini sebagai oktal, memastikan hasil yang boleh dipercayai dan boleh diramal dalam kod mereka.
Atas ialah kandungan terperinci Mengapakah JavaScript Mentafsir Sifar Utama sebagai Nombor Oktal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!