gruss Struppi,
if ((typeof obj == "string") || (obj instanceof String)) {
ist diese doppelte Prüfung wirklich nötig?
ja, definitiv, wobei die ODER-logik ja nur dann nachfasst, wenn
der erste vergleich fehlschlaegt, denn auch ...
Ich kann mir irgendwie keinen Fall vorstellen, wo typeof 'string'
zurückgibt aber die Variabel kein String ist.
... ein [String]-objekt ist immer vom typ "object" aber in jedem
fall eine instanz von [[String]]:
alert(typeof "struppi"); // "string" - ok, der hier ist klar.
alert(typeof String("struppi")); // "string" - ok (String als Methode fuer z.b. explizites typecasting).
alert(typeof (new String("struppi"))); // "object" - au backe - nicht ok - der wuerde durchrutschen.
alert(typeof String(new String("struppi"))); // "string" - zur bestaetigung der zuvor getroffenen aussagen.
da JavaScript angenehm lose typisiert ist, traegt man beim schreiben
einigermassen *wasserfesten* codes immer selbst die verantwortung fuer
den (nicht)einsatz von type-detection.
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
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]
»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
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]