© Visual Generation/Shutterstock.com
Die Besonderheiten von JavaScript im Überblick

JavaScript für Umsteiger


An JavaScript als Programmiersprache gibt es mittlerweile kaum einen Weg vorbei. Es ergibt für viele Programmierer also durchaus Sinn, wenn sie sich zumindest mit den Grundlagen beschäftigen. Umsteiger sollten sich ebenfalls zuerst mit den Grundlagen und Besonderheiten befassen.

JavaScript weist im Vergleich zu anderen Sprachen einige Besonderheiten auf, die teilweise beabsichtigt, aber zum Teil auch in der Entstehungsgeschichte der Sprache begründet sind. Die große Verbreitung und viele der Einsatzszenarien waren zum Entstehungszeitpunkt von JavaScript noch nicht absehbar. Das ist auch einer der Gründe, warum sich der Sprachkern in den vergangenen Jahren an einigen Stellen deutlich zum Positiven verändert hat. Diese Tatsache und die Existenz von Hilfsmitteln wie TypeScript, die auf JavaScript basieren, machen den Umstieg für Entwickler, die ursprünglich von anderen Programmiersprachen kommen, leichter. Es spielt keine Rolle, von welcher Programmiersprache Sie kommen – mit den grundlegenden Elementen von JavaScript müssen Sie sich immer beschäftigen, da auch Dialekte wie TypeScript auf derselben Basis aufsetzen.

Das Typsystem von JavaScript

Die Aussage, dass JavaScript über kein Typsystem verfügt, ist so nicht ganz richtig. Es gibt eine Reihe primitiver und komplexer Datentypen. Der Umgang mit diesen unterscheidet sich zum Teil jedoch gravierend von anderen Programmiersprachen. Die Basistypen in JavaScript sind:

  • Boolean

  • Number

  • String

  • Null, undefined

  • Symbol

Diese Basistypen werden by Value übergeben. Wenn Sie also eine Zeichenkette an eine Funktion übergeben, wird diese kopiert. Modifizieren Sie den Wert innerhalb der Funktion, ändert sich der Wert außerhalb nicht. Listing 1 verdeutlicht diesen Zusammenhang.

Listing 1: By-Value-Übergabe von Werten

let name = 'Klaus'; function doSomethingWithName(name) { name = 'Petra'; console.log(name); // Petra } doSomethingWithName(name); console.log(name); // Klaus

Unabhängig vom Effekt dieses Beispiels handelt es sich um schlechten Stil, wenn Sie die Argumente einer Funktion direkt manipulieren und sich auf eventuelle Seiteneffekte verlassen. Eine bessere Idee ist es, eine tiefe Kopie des Arguments anzufertigen, mit dieser weiterzuarbeiten und den veränderten Wert zurückzugeben. Das wird insbesondere dann interessant, wenn es um komplexe Datentypen wie Arrays oder Objekte geht, die by Reference übergeben werden. Das bedeutet, dass Sie an eine Funktion lediglich die Referenz auf das Objekt übergeben. Eine Änderung ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang