peterS.: typsicher vergleichen

Beitrag lesen

hallo again Kai,

Wie abfragesicher ist eigentlich in diesem speziellen Fall
(d.h. Abfrage, ob Methode / Eigenschaft verfügbar) die
negierte Abfrage, z.B.

if (!Array.prototype.push) {

// code
}

  
da in diesem speziellen fall eine methode nachgefragt werden  
soll, ist jede pruefung, die nicht auf eine existierende  
funktion besteht, unsicher.  
zwar identifizieren sich im internet explorer einige methoden  
des DOM als objekte, fuer den sprachkern, wie in dem von Dir  
nachgefragten beispiel, ist dies aber irrelevant.  
  

> Generell wäre `if (!wert) {//hurz!}`{:.language-javascript} ja ziemlich unscharf,  
> weil der if-block ausgeführt wird, sobald "wert" irgendwas außer {~~~javascript

null, false, 0, "",  

> undefined

~~~} ist.  
  
genau.  
  
  
  
so long - peterS. - pseliger@gmx.net

-- 
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.  
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - [Douglas Crockford](http://javascript.crockford.com/)  
  
[ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:\]](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%28+fl%3A%29+br%3A%3E+va%3A%28+ls%3A%26+fo%3A%29+rl%3A%29+n3%3B%7D+n4%3A%7D+ss%3A%7D+de%3A%B5+js%3A%7D+mo%3A%3F+zu%3A%5D)