Saya pindah satu tahun yang lalu dari bahasa OO klasik seperti Java ke JavaScript. Kode berikut jelas tidak direkomendasikan (atau bahkan tidak benar) di Java:
if(dayNumber = getClickedDayNumber(dayInfo))
{
alert("day number found : " + dayNumber);
}
function getClickedDayNumber(dayInfo)
{
dayNumber = dayInfo.indexOf("fc-day");
if(dayNumber != -1) //substring found
{
//normally any calendar month consists of "40" days, so this will definitely pick up its day number.
return parseInt(dayInfo.substring(dayNumber+6, dayNumber+8));
}
else return false;
}
Pada dasarnya saya baru tahu bahwa saya dapat menetapkan variabel ke nilai dalam pernyataan kondisi if, dan segera memeriksa nilai yang ditetapkan seolah-olah itu adalah boolean.
Untuk taruhan yang lebih aman, saya biasanya memisahkannya menjadi dua baris kode, tetapkan terlebih dahulu lalu periksa variabelnya, tetapi sekarang saya menemukan ini, saya hanya ingin tahu apakah ini praktik yang baik atau tidak di mata pengembang JavaScript berpengalaman?
"The following code is definitely not recommended (or event not correct) in Java..."Apakah itu benar dalam JavaScript? Karena, sejauh yang saya lihat, Anda mengembalikan integer (return parseInt(...)) jikadayNumber != -1benar, tetapi boolean jika salah.