Jak zrobić klasę w JavaScript?
Istnieje wiele sposobów na zrobienie tego samego w JavaScript. Wybrałem jednak pewne sposoby i niektóre sposoby, których szczerze nie rozumiem. Czy ktoś mógłby mi pomóc wyjaśnić niektóre rzeczy? (Po raz pierwszy nauczyłem się OOP w PHP).
Tak więc klasę można zrobić w ten sposób:
var object = new class(constructparams) {
var private_members; // Can be accessed from within the code inside this definition only.
this.public_members; // Can be accessed from everywhere.
var private_functions = function() {}
this.public_functions = function() {}
}
object.prototype.semi_public_members = function() {
// Will be public, but can only access public members and methods.
// E. g. private_members; is not available here.
}
Czy to do tej pory wszystko poprawne?
Następnie ktoś lubi samo-uruchamiające się podejście do funkcji anonimowych w celu utworzenia przestrzeni nazw. Jaki jest sens tego, gdy masz taki sposób, który robi to samo, zapewnia przestrzeń nazw?
I wreszcie masz literalną notację obiektu, której nie rozumiem.
var object = { // Something strange in here }
Co tam się dzieje Czy to JSON? Jak się go używa, jak mogę go używać. Jakie są zalety korzystania z tej metody zamiast używania metody, którą opisałem? Dlaczego miałbyś prototypować zamiast poprawnie wykonywać klasę za pierwszym razem?