Die Klassen Muster Ich habe so ziemlich kommt gesehen um so etwas wie folgt aus:ECMAScript 6 Klasse Eigenschaften unterstreichen Präfix
class Foo {
constructor(x, y, z) {
this._x = x;
this._y = y;
this._z = z;
}
get x() {
return this._x;
}
set x(value) {
//I acctually do some stuff here
this._x = value;
}
get y() {
return this._y;
}
set y(value) {
//I acctually do some stuff here
this._y = value;
}
get z() {
return this._z;
}
set z(value) {
//I acctually do some stuff here
this._z = value;
}
}
console.log(new Foo('x', 'y', 'z'))
Ausführung Ausgabe:
Foo { _x: 'x', _y: 'y', _z: 'z' }
console.log(JSON.stringify(new Foo('x', 'y', 'z')))
Ausführung Ausgabe:
{"_x":"x","_y":"y","_z":"z"}
Welche gibt mir unterstrichen Präfixfelder und IW Wie kann ich dafür sorgen, dass die Felder kein Unterstrich-Präfix haben und Getter und Setter durch die Interaktion instance.prop
ausgelöst werden.
Ich würde sagen, auf das Entfernen ** _ ** hinter den Variablen? wie 'Konstruktor (x, y, z) { this.x = x; this.y = y; dies.z = z; } ' –
Ja, in diesem Beispiel gibt es keinen Vorteil gegenüber nur die Eigenschaften direkt zuweisen und überspringen die Getter. – loganfsmyth
@loganfsmyth Entschuldigung für das schlechte Beispiel, aber ich benutze wirklich benutzerdefinierte Setter für Eigenschaften in meiner 'realen Welt Anwendung', bearbeiten mein Schnipsel für besseres Verständnis. – vcorrea