Olası Çoğalt: Ne JS bu gördük
What does “options = options || {}” mean in Javascript?İki boru sembolleri (OR)
:
item = item || {};
Ben öyle tahmin ediyorum Üçlü bir operatörün bazı varyasyonları ama aslında ne yapar?
Olası Çoğalt: Ne JS bu gördük
What does “options = options || {}” mean in Javascript?İki boru sembolleri (OR)
:
item = item || {};
Ben öyle tahmin ediyorum Üçlü bir operatörün bazı varyasyonları ama aslında ne yapar?
(expr1 || expr2)
source"doğru dönüştürülebilir eğer İade expr1, aksi takdirde Expr2 döndürür."
Yani expr1
aksi expr1
Bu eşittir:
if(!item){ item = {}; }
Yani öğe FALSE ise, öğe boş bir nesnedir? – benhowdle89
'false' veya' undefined' veya başka bir falsey değeri, evet –
neden bu aşağıya oylanmış oldu? –
madde öğesine, set öğeyi, var veya {}
Bu fazlalık denir
bir aşağı oy hak etmiyorsun. –
evet cevabı yanlış değildir @Sheikh, ama bence oldukça fakir. Kolink ve ajax'ın burada en iyi cevapları var. Özellikle Kolink, –
@Hee'yi neden hak ediyor? . "Öğe varsa" –
olarak ayarlayın, ancak bu durumda iyi bir şey buysa. . item
tanımlanmış (veya (Aksi falsy değilse Temelde, false
, 0
, ""
...), o zaman bunu bir varsayılan değer vermek
En yaygın örnek olaylarda geçerli:
evt = evt || window.event;
sen hak etmiyorsun bu '0 tümü infers aşağı oy. –
biz downvoting ya da sadece genel aptal insanlar bu gece evde bazı JavaScript snobbs alıyorsunuz döndürülür, (ya değerlendirir) döndürülür sonra
expr2
bu0,"",false,null,undefined,NaN
biri zaman! ? – benhowdle89@Martin. ve bu cevabı almak için aramamı önerirsin ... – benhowdle89
iyi soru. Bir süredir aradım ve sonunda [anladım] (http://stackoverflow.com/questions/9579262/logical-operator-in-javascript-0-stands-for-boolean-false). Ama dürüst olmak gerekirse, düşündüğüm kadar kolay değil. Tüm downvotes geri –