Operator Ternary dan Nilai Boolean

Di blog ini pernah dibahas mengenai operator ternary untuk menyingkat kode. Contohnya ada sepotong kode seperti berikut:

if ($nilai > 90)
  echo "Keren";

else
  echo "Lumayan";

Kode di atas dapat ditulis ulang menggunakan operator ternary menjadi seperti berikut:

echo ($var > 90) ? "Keren" : "Lumayan";

Seorang programer berpengalaman pasti lebih suka menggunakan operator ternary bahkan untuk yang melibatkan lebih dari dua buah pernyataan. Namun tidak direkomendasikan untuk para pemula karena bisa membingungkan.

Saya sendiri pernah melakukan hal konyol pada tulisan yang lalu, yaitu penggunaan operator ternary dengan nilai boolean yang tidak semestinya.

$cek = ($var > 5) ? true : false;

Padahal seharusnya cukup ditulis seperti ini:

$cek = $var > 5;

Variable $cek otomatis bernilai true jika kondisi $var > 5 terpenuhi. Sebaliknya bernilai false jika kondisi tidak terpenuhi. Contoh kasus lain penggunaan operator ternary yang tidak semestinya adalah:

$cek = ($var == true) ? 1 : 0;

Secara tidak sadar mungkin kita sering melakukan hal semacam ini dalam pengkodean sehari-hari. Pada contoh di atas juga terdapat kondisi yang tidak perlu dan seharusnya dihilangkan sehingga menjadi seperti berikut:

$cek = $var ? 1 : 0;

Catatan ini juga sebagai koreksi untuk tulisan yang lalu.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *