Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Zum Lernen einer Sprache sich den entsprechenden Compiler/Interpreter anzuschauen ist, zumindest meiner Meinung nach, etwas übertrieben, mal abgesehen davon, dass man dafür ausreichend Kenntnisse in der Sprache benötigt, die für den Compiler/Interpreter verwendet wurde. _Wichtig_ ist es keines Falls, das zu machen.Um JS zu lernen hat es mir geholfen sich anzugucken wie z.B. Googles V8 Engine implementiert ist.
Das ist wichtig um zu verstehen wie die Objekte in JS eigentlich funktionieren (z.B. das prototyping).
Aber leider sind die Schlüsselworte selbst nicht alles, was man von JavaScript (bzw. Programmiersprachen allgemein) wissen muss. Gerade in JavaScript gibt es viele Methoden unterhalb von Object (defineProperty/defineProperties, freeze, create, ...), Funktionen zur Interaktion mit dem DOM (classList, children vs. childNodes, Document.createElement, ...), automatische Typumwandlungen (gerade bei Bedingungen, welche Werte in false und welche in true umgewandelt werden), Methoden unterhalb von Funktionen (call, apply, bind, ...), implizite Variablen (arguments in Funktionen), Closures, die Prototype-Chain etc.Ansonsten besteht JS nur aus wenigen Schlüsselwörtern, was die Sprache sehr übersichtlich macht. Den Rest lernt man übers ausprobieren oder in dem man sich Code ansieht.
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Community-Fossil
Zum Lernen einer Sprache sich den entsprechenden Compiler/Interpreter anzuschauen ist, zumindest meiner Meinung nach, etwas übertrieben, mal abgesehen davon, dass man dafür ausreichend Kenntnisse in der Sprache benötigt, die für den Compiler/Interpreter verwendet wurde. _Wichtig_ ist es keines Falls, das zu machen.Um JS zu lernen hat es mir geholfen sich anzugucken wie z.B. Googles V8 Engine implementiert ist.
Das ist wichtig um zu verstehen wie die Objekte in JS eigentlich funktionieren (z.B. das prototyping).
Aber leider sind die Schlüsselworte selbst nicht alles, was man von JavaScript (bzw. Programmiersprachen allgemein) wissen muss. Gerade in JavaScript gibt es viele Methoden unterhalb von Object (defineProperty/defineProperties, freeze, create, ...), Funktionen zur Interaktion mit dem DOM (classList, children vs. childNodes, Document.createElement, ...), automatische Typumwandlungen (gerade bei Bedingungen, welche Werte in false und welche in true umgewandelt werden), Methoden unterhalb von Funktionen (call, apply, bind, ...), implizite Variablen (arguments in Funktionen), Closures, die Prototype-Chain etc.Ansonsten besteht JS nur aus wenigen Schlüsselwörtern, was die Sprache sehr übersichtlich macht. Den Rest lernt man übers ausprobieren oder in dem man sich Code ansieht.
Weiterhin gibt es im Featureumfang der unterschiedlichen Browser gewisse Unterschiede, auf die bei der Programmierung mit JavaScript eingegangen werden muss (wozu diese bekannt sein müssen). Für einige der Unterschiede gibt es entsprechende Frameworks, die bspw. den Umgang mit dem DOM abstrahieren und Features ggf. emulieren (JQuery, Prototype, ...), man trifft oft genug aber auf Features, die dadurch nicht unbedingt abgedeckt, die aber dennoch in unterschiedlichen Browsern unterschiedlich implementiert sind, vor allem wenn es keine Features vom Anbeginn von JavaScript sind -> "vendor prefixes" (Pointer Lock, setCapture, Vollbild, ...).
Man muss nicht mit ausnahmslos allen Einzelheiten vertraut sein, um mit JavaScript Anwendungen (oder Spiele) umsetzen zu können, allerdings bringen einem einige der Features in bestimmten Situationen elegantere Lösungen.
Quellcode |
|
1 |
var that = this; |
Community-Fossil
Quellcode |
|
1 |
var that = this; |
Quellcode |
|
1 |
Typ that = this; |
Wo ist groß der Unterschied zwischen
Quellcode
1 var that = this;
und
Quellcode
1 Typ that = this;
?
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Ich vermute er bezieht sich darauf, dass das Zuweisen der Selbstreferenz (this) an eine andere Variable (that oder self oder ...) unter Umständen sinnvoll sein kann, abhängig davon, wie man bei der Programmierung vorgeht. Ich würde aber behaupten, dass man darauf nur zurückgreifen muss, wenn man private (oder protected?) Member mit anderen Sprachfeatures (Closures) emulieren möchte.
Community-Fossil
Werbeanzeige