Koşul deyimi, iyi uygulama veya değişken olarak atamak?
Bir yıl önce Java gibi klasik OO dillerden JavaScript taşındım. Aşağıdaki kodu kesinlikle tavsiye edilmez (hatta değil) doğru 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;
}
Temelde ben sadece eğer boolean gibi Eğer koşul deyimi bir değer, ve hemen atanan değeri kontrol etmek için bir değişken atamak istiyorum.
İçin daha güvenli bir bahis, ben genellikle ayrı iki kod satırlarını, ilk atama sonra kontrol değişken, ama şimdi buldum bunu, ben sadece merak olsun, bu iyi bir uygulama ya da gözlerinde değil deneyimli JavaScript geliştiriciler?
CEVAP
Tavsiye etmem. Sorun, değerleri karşılaştırmak için deneyin ortak bir hata gibi görünüyor, ama ==
===
yerine =
tek kullanımlık. Bu gördüğünüzde örneğin,:
if (value = someFunction()) {
...
}
eğer yapmak istedikleri buysa, ya da eğer bu yazma niyetinde olduklarını bile bilmiyorsun:
if (value == someFunction()) {
...
}
Eğer gerçekten yerine atama yapmak istiyorsan, açık bir karşılaştırma yapmak da tavsiye ederim:
if ((value = someFunction()) === <whatever truthy value you are expecting>) {
...
}
Hangi bölümleri Real World Haskell şim...
Mağaza print_r bir dize veya metin ola...
Nasıl benim uygulama 32-bit veya 64-bi...
C için bir sebep mi'#; dosyalarda ...
Nasıl değişken olup olmadığını belirle...