ฉันย้ายจากภาษา OO คลาสสิกเช่น Java ไปเป็น JavaScript เมื่อหนึ่งปีก่อน ไม่แนะนำให้ใช้โค้ดต่อไปนี้ (หรือไม่ถูกต้อง) ใน 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;
}
โดยทั่วไปฉันเพิ่งพบว่าฉันสามารถกำหนดตัวแปรให้กับค่าในคำสั่งเงื่อนไข if และตรวจสอบค่าที่กำหนดทันทีราวกับว่าเป็นบูลีน
เพื่อการเดิมพันที่ปลอดภัยยิ่งขึ้นฉันมักจะแยกโค้ดออกเป็นสองบรรทัดกำหนดก่อนแล้วจึงตรวจสอบตัวแปร แต่ตอนนี้ฉันพบสิ่งนี้ฉันแค่สงสัยว่ามันเป็นแนวทางปฏิบัติที่ดีหรือไม่ในสายตาของนักพัฒนา JavaScript ที่มีประสบการณ์?
"The following code is definitely not recommended (or event not correct) in Java..."มันถูกต้องใน JavaScript หรือไม่? เพราะเท่าที่ฉันเห็นคุณส่งคืนจำนวนเต็ม (return parseInt(...)) ถ้าdayNumber != -1เป็นจริง แต่บูลีนถ้าเป็นเท็จ