2016-05-04 9 views
0

In meiner Anwendung habe ich gelesen, einen Code wie dieses:fangen kann nicht Eigentum von null

"docDecesPere": $scope.orphanFatherDocumentUpload == null ? 
    (
     res.candidatureSituationSociale != "undefined" ? 
     res.candidatureSituationSociale.docDecesPere : 
     null 
    ) : 
    $scope.orphanFatherDocumentUpload.name 

In einigen Szenarien res.candidatureSituationSociale undefiniert meine so, wie Sie habe ich es sehen kann getestet, so, wenn ihr nicht undefiniert werde ich beeinflussen res.candidatureSituationSociale.docDecesPere zu "docDecesPere", aber ich bin immer diesen Fehler:

Cannot read property 'docDecesPere' of null 

warum diese erhalte ich, obwohl ich auf sie einen Test hatte, und wie kann ich sie lösen?

+4

Vielleicht meintest du "res.candidatureSituationSociale! == undefined" oder "typeof res.candidatureSituationSociale! ==" undefined "'? –

+0

Nun, wenn es 'null' ist, ist es in der Tat weder' undefiniert' noch 'undefiniert''. – deceze

Antwort

1

Wenn Sie Variable wie "undefined" überprüfen, die eine Zeichenfolge ist, müssen Sie typeof(var) verwenden.

In JS, können Sie leicht prüfen, ob Variable null oder undefined by doing ist,

undefined || null ? 'true' : 'false' 

Vielleicht möchten Sie Ihren Code so versuchen,

"docDecesPere": !$scope.orphanFatherDocumentUpload ? 
    (
     res.candidatureSituationSociale ? 
     res.candidatureSituationSociale.docDecesPere : 
     null 
    ) : 
    $scope.orphanFatherDocumentUpload.name 

In diesem Fall haben Sie um sicherzustellen, dass res.candidatureSituationSociale.docDecesPere nicht null ist.

2

Du sie in " umschließenden so müssen Sie typeof verwenden:

typeof res.candidatureSituationSociale != "undefined" 

Zur Sicherheit hinzufügen null auch.

typeof res.candidatureSituationSociale != "undefined" && 
res.candidatureSituationSociale != null 
1

A möglicherweise bessere Möglichkeit der Prüfung für eine Variable entweder null oder nicht definiert zu sein, ist es für alle res.candidatureSituationSociale Werte außer null ist nicht gleich null oder undefined

res.candidatureSituationSociale != null 

werden, um wahr zu testen und undefined

Verwandte Themen