Basierend auf this answer Ich weiß, ich kann überprüfen, ob eine Eigenschaft existiert mit dem Operator in. So sehe ich in einer Menge von Code, der es üblich ist, zu verwenden, zum Beispiel:Javascript im Scheck vs Punkt Notation überprüfen
if ("gapi" in window) {
gapi.login(...);
}
Aber nicht besser wäre, es so zu tun?
if (window.gapi) {
gapi.login(...);
}
Der einzige Unterschied, den ich kenne, ist, dass die zweite falsch zurück, wenn die Variable existiert, aber sein Wert ist undefined
, false
, 0
, null
oder anderer Wert, der falsch ergibt; und der erste wird wahr zurückkommen, oder?
Also, gibt es einen anderen Unterschied? Welchen sollte ich benutzen?
Mit letzterem, was wäre, wenn 'window.gapi' 0, false, null usw. wäre? – Marty
@Marty ja, das ist, was ich in meinem letzten Absatz vor der Frage –
angegeben hat Ihr letzter Absatz erwähnt streng "undefined" von dem, was ich verstehe. – Marty