Jadi mengapa tepatnya JavaScript (dan bahasa lain) menyediakan begitu banyak cara berbeda untuk melakukan hal yang sama? Nah, untuk satu hal, beberapa alternatif ini lebih pendek dari yang lain dan karenanya melibatkan kurang mengetik. Menggunakan + = dengan mudah memungkinkan angka apa pun dan tidak hanya satu yang ditambahkan ke variabel tanpa harus memasukkan nama variabel dua kali.
Itu masih tidak menjelaskan mengapa i ++ dan ++ i ada karena keduanya hanya dapat digunakan untuk menambahkan satu dan keduanya memiliki panjang yang sama. Alasan kedua alternatif tersebut adalah bahwa ini tidak dimaksudkan untuk digunakan sebagai pernyataan yang berdiri sendiri tetapi sebenarnya dirancang untuk dapat dimasukkan ke dalam pernyataan yang lebih kompleks di mana Anda benar-benar memperbarui lebih dari satu variabel dalam satu pernyataan.pernyataan di mana Anda benar-benar memperbarui lebih dari satu variabel dalam satu pernyataan.
Pernyataan ini memperbarui nilai-nilai dari kedua variabel i dan j dalam satu pernyataan. Masalahnya adalah bahwa sementara ++ i dan i ++ melakukan hal yang sama sejauh memperbarui saya khawatir mereka melakukan hal-hal yang berbeda berkaitan dengan memperbarui variabel lain. Pernyataan di atas dapat ditulis sebagai dua pernyataan terpisah seperti ini:
Perhatikan bahwa menggabungkan keduanya berarti kita memiliki delapan karakter, bukan 13. Tentu saja, versi yang lebih panjang jauh lebih jelas dari mana harus mencari tahu nilai apa yang akan dimiliki j.
Ini, tentu saja, berarti bahwa j sekarang memiliki nilai yang berbeda dengan yang ada pada contoh pertama. Posisi ++ baik sebelum atau setelah nama variabel mengontrol apakah variabel akan bertambah sebelum atau sesudah digunakan dalam pernyataan yang digunakan.
Jadi ketika Anda menggunakannya secara terpisah sebagai satu pernyataan tidak ada bedanya apakah Anda menempatkannya sebelum atau setelah nama variabel (kecuali untuk perbedaan kecepatan mikroskopis yang tidak akan pernah ada memperhatikan). Hanya sekali Anda menggabungkannya dengan pernyataan lain yang membuat perbedaan dengan nilai yang ditugaskan untuk beberapa lainnya variabel atau variabel.