2017-01-24 3 views
0

Ich arbeite an einer externen API, wo der Standardwert eines Objekts null ist.Setzen Sie den Nullwert auf ein Objekt

location.recipt = null;

Aber ich brauche location.recipt.printRecipt auf true zu setzen, habe ich eine Geige erstellt und herausgefunden, wenn ich location.recipt = {} mache ich nicht in der Lage sein printRecipt zu setzen, gibt es eine andere Lösung?

Denn wenn das der Fall ist, muss ich 2 Aufrufe an die API, einmal von null zu leeren Objekt {} und dann erneut, um die Daten zu aktualisieren.

Fiddle: https://jsfiddle.net/bdeepakreddy/nwemtwtu/

+6

location.recipt = { drucken Recipt: true } –

+0

Aber während ich eine PUT/POST-Anfrage sende, glaube ich nicht, dass ich das richtig machen kann? –

+0

Was meinen Sie mit "Ich muss zwei Aufrufe an die API machen"? Sofern das Objekt nicht eingefroren ist, können Sie seinen Eigenschaftswert direkt in der JavaScript-Laufzeit ändern. – Pavlo

Antwort

2
location.recipt={ 
    printRecipt : true 
}; 
0

Nr null ist null (nichts), und Sie können nicht Eigenschaften auf nichts festgelegt. Stattdessen könnten Sie Ihren Standardwert ein Objekt mit einem Wert Eigenschaft machen sein:

location.receipt = { value: null }; 
-2

Sie können in einer Anweisung in JavaScript tun:

var location2 = { recipt: { printRecipt: true } }; 
 

 
console.log(location2);

1

Ich schlage vor, zu verwenden, eine Überprüfung zuerst

location.receipt = location.receipt || {}; 
location.receipt.printRecipt = true; 
Verwandte Themen