if (typeof foo !== 'undefined') {
// Now we know that foo is defined, we are good to go.
}
Die typeof
ausgewertet true
oder false
basierend darauf, ob die Variable foo
definiert ist oder nicht.Typeof der Booleschen Ausdruck mit Vergleichsoperator
aber sagen, wenn foo !== 'undefined'
zu true
auswertet, dann typeof
von true
zu 'boolean'
bewerten soll. Warum wird true
oder false
ausgewertet?
Als Hinweis, 'typeof (typeof foo! == 'undefined') würde tun, was OP denkt. – ajm