Kata pengantar
Beberapa tahun yang lalu, ketika Spidermonkey menerapkan mode ketat, saya belajar bahwa mode ketat menonaktifkan penulisan area integer oktal. Karena ada bukti bahwa beberapa pemula akan menggunakan 0s terkemuka untuk menyelaraskan angka dalam beberapa baris, menghasilkan hasil yang tidak terduga:
Var SUM = 015 + // setara dengan 13 dalam desimal, bukan 15 197 + 001; // Lagi pula, ini adalah 1Console.log (sum) // jumlah yang diperoleh dengan tambahan adalah 211, bukan 213 seperti yang dipikirkan pemula
Namun, beberapa pengembang masih membutuhkan bilangan bulat oktal (terutama pengembang Mozilla Extension dan pengembang Node.js), dan yang paling umum adalah ketika memproses izin file (755, 644). Oleh karena itu, ES6 telah menambahkan metode penulisan integer oktal baru. Mirip dengan hexadecimal 0x atau 0x, integer oktal baru menggunakan 0O atau 0O sebagai pengidentifikasi terkemuka, diikuti oleh beberapa karakter numerik oktal (0 hingga 7). Metode penulisan ini tidak akan lagi mengganggu pemula:
var default_perms = 0o644; // Juga tersedia dalam mode ketat
Perlu dicatat bahwa keterbacaan awalan 0o terlalu buruk (0 dan huruf besar terlihat terlalu mirip dan sulit dibedakan). Saya mengajukan pertanyaan ini di Esdiscuss, berharap untuk menonaktifkan awalan Hulu 0o. Namun, keputusan TC39 saat ini masih percaya bahwa konsistensi harus lebih besar dari keterbacaan (konsistensi berarti bahwa itu harus konsisten dengan 0x dan 0b). Saya pikir keputusan ini bisa diperdebatkan, dan saya sarankan Anda tidak pernah menggunakan Uppercase 0O.
Selain itu, beberapa pengembang juga membutuhkan metode penulisan kuantitas permukaan biner integer, yang tidak pernah didukung oleh ecmascript. ES6 mendukung metode penulisan ini, mirip dengan oktal dan heksadesimal, menggunakan awalan 0B atau 0B:
var flt_signbit = 0B1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000nya 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000
Saat ini Firefox Aurora telah menerapkan dua sintaks ini. Jika Anda lebih suka berpetualang, Anda juga dapat menggunakan Firefox yang diperbarui setiap malam.
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini akan membantu semua orang dalam belajar ES6. Jika Anda memiliki pertanyaan, silakan tinggalkan pesan untuk berkomunikasi.