Я перейшов рік тому з класичних мов 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це правда, але булеве значення, якщо воно неправдиве.