Sebab 1:
Lebih piawai dan lebih mudah untuk dianalisis
Sebab 2:
Elakkan isu ketidakserasian yang disebabkan oleh kata kunci seperti kelas
Sebab 3:
Mungkin yang paling tidak jelas:
var a = 00; var b = {00: 12}; a in b; --> true var a = 0; var b = {'00': 12}; a in b; --> false
Teka secara peribadi bahawa jika nama atribut objek js adalah daripada jenis bukan rentetan, penukaran jenis akan dilakukan terlebih dahulu, tetapi nilai yang tidak dijangka mungkin muncul dalam proses ini Walaupun ini hanya kes terpencil, ia masih sangat berguna untuk membangunkan tabiat yang baik