a === undefined
nicht unbedingt auf undefined
überprüfen, da Sie var undefined = {}
setzen konnten.
Verwenden Sie entweder den void
oder typeof
Operator (strikte Gleichheit ===
ist nicht erforderlich):
if(data.result.parameters.q == void(0) || typeof data.result.parameters.q == 'undefined')
console.log('data.result.parameters.q is undefined');
Wie sieht Ihre Daten tatsächlich aussehen? Sind Sie sicher, dass data
, data.result
und data.result.parameters
eingestellt sind? Es gibt viele Möglichkeiten, um zu überprüfen, wie hasOwnProperty
oder allgemeine truthiness:
if(data.hasOwnProperty('result') && data.result && data.result.hasOwnProperty('parameters'))
// now we can check if there is q in data.result.parameters
Beachten Sie auch, gibt es einen Rechtschreibfehler in Ihrem Code: es ist console
, nicht colsole
.
Erhalten Sie einen Fehler in der Konsole? Wenn eines der früheren Objekte in der Kette null ist, wird ein Fehler ausgelöst. Sonst könnte man 'console.log (data.result.parameters.q)' und auf alles spucken, was es ausspuckt – IrkenInvader
'console.log (data.result.parameters.q)' ist wirklich undefiniert? –
Was ist 'colsole'? –