hi molily,
Hallo,
»new« ist nicht fehlerträchtig. Es tut das, was es soll, sehr gut. Es ist nur verwirrend und schwierig zu verstehen. Es sieht wie Java und klassenbasierte OOP aus, ist aber intern etwas anderes. Das ist ein bekannter Designfehler in JavaScript. Dasselbe gilt für »this«.
»new« macht nichts besonders, darunter stecken einfache Objekte, Konstruktoren und Prototypen. Wenn man das verstanden hat, kann man es sicher anwenden. Das tun tausende von Projekte auch.
Ich schreibe beruflich hauptsächlich Pseudoklassen in CoffeeScript, instantiiere sie mit »new« und arbeite mit CoffeeScripts Method-Binding. Das klappt hervorragend und ist gut lesbar. Ich wüsste nicht, was ich da alleine mit dem Verzicht auf »new« gewinnen würde. ECMAScript 6 wird »syntactic sugar« für Klassendeklarationen haben, die CoffeeScript und TypeScript sehr ähnlich sind. Das zeigt, dass diese Schreibweise weiter bleiben wird.
Da seh ichs ;-):
sam = new Snake("Sammy the Python");
tom = new Horse("Tommy the Palomino");
mfg
tami