Dies ist eine Frage, wie JavaScript Getter und Setter funktionieren.Delete in JavaScript verwenden Getter/Setter zum Löschen des Getter/Setter
Mozillas Implementierung von log4j als JavaScript-Modul (teilweise Implementierung, nur die wichtigen Teile, die für die vorgesehenen Anwendungsfälle wie in Firefox Sync benötigt werden) enthält die folgende Getter/Setter-Definition.
Was macht das "Löschen" im Getter/Setter für Sie? Was bedeutet das überhaupt? Es hat den Effekt, dass die erste Verwendung andere Ergebnisse als die folgenden verwendet (wenn ja, wie)?
get repository() {
delete Log4Moz.repository;
Log4Moz.repository = new LoggerRepository();
return Log4Moz.repository;
},
set repository(value) {
delete Log4Moz.repository;
Log4Moz.repository = value;
},
Wäre o.a danach noch ein Getter (oder Setter), wenn es so angefangen hätte? Ich denke nicht, jetzt wäre es nur ein Wert, oder? (Wie können Sie feststellen, ob eine Eigenschaft ein Getter/Setter ist oder nicht? Gibt es eine Möglichkeit, das Objekt, das sagt, welche Eigenschaften Getter/Setter sind, zu inspizieren/abzulegen?) –