Hi,
also kurz als Erweiterung um Christians Kommentar mit einzubeziehen.
Wenn ein Objekt als Parameter übergeben wird, dann kann man generell auf alle (öffentlichen) Methoden und Eigenschaften des Objektes zugreifen und somit den Inhalt ändern.
Object als
var: Der alte Pointer (intern als Pointer) zum Objekt kann gelöscht/überschrieben werden. Objekt sollte wahrscheinlich vorher zerstört werden, um alle Ressourcen freizugeben. Der Aufrufer benutzt nach dem Methodenaufruf das neue Objekt.
Object als
const: Der alte Pointer kann nicht geändert werden - aber die Methoden und Eigenschaften des Objektes können genutzt/geändert zu werden.
Object ohne
var/const: Wie bereits bei normalen Variablen - der Pointer wird kopiert, sollte dieser innerhalb der Methode geändert werden. Er wird belassen, wenn keine Neuzuweisung auf den Pointer erfolgt.
Danke Christian - jetzt sollte (hoffentlich) diese Frage vollständig geklärt sein.