(BTW: Ich werd’ das hier bei Gelegenheit mal abschneiden, so ab Frust-Thread - #1121 von maki vielleicht, und in einen eigenen Thread packen - nicht mehr heute, vermutlich)
Man muss sich schon Gedanken machen, nämlich wo die „Trennlinie“ zwischen „Kern“ und „Script-Schicht“ verläuft. Und vielleicht ist das gerade dann besonders schwierig, wenn beides in der gleichen Sprache geschrieben ist. Dass man dann vielleicht auch einfach
const myPlugin = (engine) => {
engine.core.privateParts.players["myName"].health = 1000000000;
engine.core.privateParts.players["myName"].die = function() {
engine.core.privateParts.players["opponent"].die();
};
}
schreiben kann kommt noch oben drauf (wo wir gerade beim anderweitigen JavaScript-Bashing sind )
Das Problem mit der „ungetyptheit“ ist so gesehen nicht so klar abzugrenzen. Mir ist fast egal, ob eine Variable den „Type“ var
hat und sowohl eine Number
als auch ein String
sein kann. Wenn man das systematisch, nachvollziehbar und gewissenhaft umsetzt, kann das OK sein. Dass es, wenn man es komplett und von Grund auf gegen die Wand fährt zu sowas wie dem https://eqeq.js.org/ führt, ist ein anderer Punkt. Aber was ich eben grauslig finde ist, dass man sowas wie das oben angedeutete foo.bar.someFunction = doSomethingElse
machen kann, und dass ähnliche Dinge teilweise als „normal“ angesehen zu werden scheinen.