So gibt es in der MDN-Dokumentation für das Destrukturieren von Funktionsvorgaben das folgende Beispiel.unklar auf ES6 Destrukturierung Funktionsparameter Standard
function drawES2015Chart({size = 'big', cords = {x: 0, y: 0}, radius =
25} = {}) {
console.log(size, cords, radius);
// do some chart drawing
}
drawES2015Chart({
cords: {x: 18, y: 30},
radius: 30
});
Allerdings kann ich dieses Beispiel mit der ersten Zeile laufen als function drawES2015Chart({size = 'big', cords = {x: 0, y: 0}, radius = 25})
so die ={}
Teil auszulassen. Ich bin nicht sicher, warum das funktioniert und welche Vorteile die Verwendung der längeren Form hätte, wenn die kürzere Form tatsächlich genauso korrekt wäre.
Was passiert, wenn Sie in Ihrer Version "nil"/"undefined"/nichts eingeben? (Z. B. ohne den '= {}' Standard.) –
@DaveNewton Sie erhalten immer noch eine Ausnahme bei der Übergabe von 'null', weil es nicht die Standardwert Substitution ausgelöst –