Angenommen a
Objekt a = {b:1,c:2,d:null,e:undefined}
ist und wir verwenden Destrukturierung Zuordnung:Warum die Destrukturierungszuordnung den Nullwert nicht überprüft?
var {
b : amer ,
c : karam ,
d : moji = 3 ,
e : yasi = [] ,
} = a;
amer
ist 1
und karam
2
ist, es richtig ist, aber ich habe die Standardwerte für d
und e
. also, wenn d
oder e
sein undefined
oder null
, die Zuordnung verwenden Sie die Standardwerte, yasi
ist []
weil e
ist undefined
aber moji
Rückkehr null
Wert und es ist so seltsam, weil Standardwert in Destrukturierung assingment ist für undefined
oder null
überprüfen.
Warum Destrukturierungszuordnung Nullwert nicht überprüfen?
Vielleicht bin ich unwissend zu diesem Stil, aber ich verstehe wirklich nicht die Syntax Ihres Snippets - mehrere Teile davon. Am offensichtlichsten, können Sie wirklich die Variable "a" so definieren? Kannst du mich auf eine Ressource hinweisen? –
@DouglasTylerGordon Es ist Standard [Objekt Destrukturierung] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructioning) mit Standardwerten. – Bergi
Warum gibt es keine Standardwerte für Nullen? Weil 'null' * * ein Wert ist, explizit der Wert" momentan nicht gesetzt oder nichts ". Was unterscheidet sich von * nicht einmal vorhanden *, was "undefined" darstellt. – sweaver2112