Software-OK
≡... News | ... Home | ... FAQ | Impressum | Kontakt | Gelistet bei | Danke |

  
HOME ► Windows Tip - JavaScript ► «««« 07 / 14 »»»»

JavaScript var, let und const was ist der untersched?


Im Allgemeinen wird empfohlen, let und const gegenüber var zu verwenden, da sie bessere Scoping-Regeln bieten, jedoch sollte man doch paar Sachen wissen!



Generell können Sie davon ausgehen, dass moderne JavaScript-Funktionen, einschließlich "let" und "const", in den meisten aktuellen Browsern unterstützt werden. Der IE unterstützt nur "var" ab Version 11 auch "let"!

1. Kurze Erklärung zu 'var', 'let' und `const`!
2. Mehr über diese JavaScript Variablen bit Beispielen!
3. Was ist mit dem Support in den Internet-Browsern?
4. Interessante "Spielereien" im Zusammenhang mit Variablen in JavaScript!
5. Worauf sollte man besonders achten bei var, const, let?
6. Gemeinsame Überlegungen:





1.) Kurze Erklärung zu 'var', 'let' und "const"!



- "var" hat einen Funktionsscope, wird gehoistet und kann neu deklariert und aktualisiert werden.
- "let" hat einen Blockscope, wird gehoistet und kann aktualisiert, aber nicht neu deklariert werden.
- "const" hat ebenfalls einen Blockscope, wird gehoistet, muss während der Deklaration initialisiert werden und kann weder neu deklariert noch aktualisiert werden.

Es wird empfohlen, "let" und "const" zu verwenden, da sie klarere Scoping-Regeln haben und dazu beitragen, bestimmte Fehler zu vermeiden. "const" sollte bevorzugt werden, wenn der Wert der Variable konstant bleibt, während "let" für Variablen verwendet wird, die sich ändern können. "var" sollte vermieden werden, um konsistentere und vorhersehbarere Ergebnisse im Code zu gewährleisten.

(Scoping = etwas bewerten oder untersuchen)

2.) Mehr über diese JavaScript Variablen bit Beispielen!



In JavaScript werden "var", "let" und "const" verwendet, um Variablen zu deklarieren, aber sie unterscheiden sich hinsichtlich Geltungsbereich (Scope), Hosting und Veränderlichkeit.

1. "var":
- Variablen, die mit "var" deklariert werden, haben einen Funktionsumfang, das bedeutet, sie sind nur innerhalb der Funktion zugänglich, in der sie definiert sind. Wenn sie außerhalb einer Funktion deklariert werden, werden sie global.
- "var" wird während der Ausführungsphase an den Anfang seines Scopes gehoistet. Das bedeutet, dass du die Variable im Code verwenden kannst, bevor sie deklariert wird, aber ihr Wert wird "undefined" sein.
- "var"-Variablen können neu deklariert und aktualisiert werden.

 function beispiel() {
if (true) {
var x = 10;
console.log(x); // 10
}
console.log(x); // 10
}


2. "let":
- Variablen, die mit "let" deklariert werden, haben einen Blockscope, das bedeutet, sie sind nur innerhalb des Blocks (Anweisung oder zusammengesetzte Anweisung) zugänglich, in dem sie definiert sind.

- "let" wird an den Anfang seines Blocks gehoistet, aber es wird erst initialisiert, wenn die eigentliche Deklarationsanweisung während der Ausführung erreicht wird.

- "let"-Variablen können aktualisiert, aber nicht neu deklariert werden.

 function beispiel() {
if (true) {
let y = 20;
console.log(y); // 20
}
// console.log(y); // Fehler: y ist nicht definiert
}


3. "const":
- Variablen, die mit "const" deklariert werden, haben ebenfalls einen Blockscope wie "let".
- "const" wird nicht nur gehoistet, sondern erst initialisiert, wenn die Deklaration gefunden wird. Einmal initialisiert, kann der Wert nicht mehr geändert werden (er ist konstant).
- "const" muss während der Deklaration initialisiert werden.

 function beispiel() {
const z = 30;
// z = 40; // Fehler: Zuweisung an eine Konstante nicht erlaubt
}


Im Allgemeinen wird empfohlen, „let“ und „const“ anstelle von „var“ zu verwenden, da sie bessere Scoping-Regeln bieten und bestimmte Arten von Fehlern im Zusammenhang mit der erneuten Deklaration und dem Hochziehen von Variablen verhindern. „const“ wird verwendet, wenn der Wert der Variablen nicht neu zugewiesen werden soll und „let“ eignet sich, wenn eine Neuzuweisung erforderlich ist.

3.) Was ist mit dem Support in den Internet-Browsern?




Die Unterschiede zwischen "var", "let", und "const" in Bezug auf den Browser-Support sind wichtig, da ältere Browser möglicherweise nicht alle Funktionen unterstützen. Hier sind einige Punkte dazu:

- "var": Wird von allen gängigen Browsern unterstützt, auch von älteren Versionen. Es kann jedoch zu unerwünschtem Verhalten führen, insbesondere im Hinblick auf den Scope und das Hoisting. Aufgrund dieser Probleme wird "var" in modernem JavaScript oft vermieden.

- "let": Wird von den meisten modernen Browsern unterstützt, einschließlich gängiger Versionen von Chrome, Firefox, Safari, und Edge. Internet Explorer unterstützt "let" ab Version 11. In der Praxis ist "let" die sicherere Alternative zu "var" und wird häufig in modernen JavaScript-Anwendungen verwendet.

- "const": Wird ebenfalls von den meisten modernen Browsern unterstützt. Die Unterstützung für "const" ist ähnlich wie bei "let", und auch Internet Explorer 11 und neuere Versionen können "const" verarbeiten. "const" ist besonders nützlich, wenn Sie sicherstellen möchten, dass eine Variable unveränderlich bleibt.

Generell können Sie davon ausgehen, dass moderne JavaScript-Funktionen, einschließlich "let" und "const", in den meisten aktuellen Browsern unterstützt werden. Wenn Sie jedoch ältere Browser unterstützen müssen, ist es ratsam, dies in Ihren Entwicklungsentscheidungen zu berücksichtigen und ggf. Polyfills oder alternative Lösungen zu verwenden.


4.) Interessante "Spielereien" im Zusammenhang mit Variablen in JavaScript!




Ja, es gibt einige interessante "Spielereien" oder Besonderheiten im Zusammenhang mit Variablen in JavaScript. Hier sind ein paar Beispiele:

1. Hoisting:
- In JavaScript werden Variablen und Funktionen "nach oben gezogen" (hoisted), was bedeutet, dass sie im Code an den Anfang ihres Scope verschoben werden.
 console.log(x); // Output: undefined
var x = 5;


2. Temporal Dead Zone (TDZ):
- Bei Verwendung von "let" und "const" gibt es eine "Temporal Dead Zone", in der die Variable existiert, aber nicht darauf zugegriffen werden kann, bevor sie deklariert wird.
 console.log(x); // ReferenceError: Cannot access "x" before initialization
let x = 5;


3. Mutable const:
- Obwohl "const" normalerweise bedeutet, dass die Variable nicht neu zugewiesen werden kann, bedeutet es nicht, dass der Wert, den die Variable hält, unveränderlich ist. Bei Objekten und Arrays können die Eigenschaften bzw. Elemente verändert werden.
 const myArray = [1, 2, 3];
myArray.push(4); // Erlaubt


4. IIFE (Immediately Invoked Function Expression):
- Eine Funktion kann sofort nach ihrer Definition aufgerufen werden, und sie kann dazu verwendet werden, einen eigenen Scope zu erstellen, um Variablen zu verbergen.
 (function() {
var hiddenVar = "I am hidden";
console.log(hiddenVar);
})();
// console.log(hiddenVar); // ReferenceError: hiddenVar is not defined


5. Dynamic Typing:
- JavaScript ist dynamisch typisiert, was bedeutet, dass eine Variable Werte unterschiedlicher Typen halten kann.
 let dynamicVar = 42;
console.log(dynamicVar); // Output: 42
dynamicVar = "Hello";
console.log(dynamicVar); // Output: Hello


Es ist wichtig, diese Aspekte zu verstehen, um in JavaScript effektiv zu programmieren und unerwartete Ergebnisse zu vermeiden.


5.) Worauf sollte man besonders achten bei var, const, let?



Beim Arbeiten mit "var", "let" und "const" in JavaScript gibt es einige wichtige Überlegungen, um unerwartetes Verhalten zu vermeiden und sauberen Code zu schreiben:

"var":
- Function Scope: "var" ist funktionsübergreifend (function-scoped), daher kann es außerhalb der Funktion sichtbar sein, in der es deklariert wurde. Dies kann zu unerwartetem Verhalten führen, insbesondere in komplexeren Anwendungen. Vermeiden Sie "var", wenn möglich, zugunsten von "let" und "const".

- Hoisting: Variablen, die mit "var" deklariert sind, werden gehoistet, was bedeutet, dass ihre Deklaration an den Anfang des Scopes verschoben wird. Dies kann zu unerwarteten Ergebnissen führen, wenn auf die Variable vor ihrer Deklaration zugegriffen wird.

"let":

- Block Scope: Im Gegensatz zu "var" ist "let" blockübergreifend (block-scoped), was bedeutet, dass die Variable nur innerhalb des Blocks sichtbar ist, in dem sie deklariert wurde. Dies trägt zu einer klareren Code-Struktur bei.

- Hoisting: "let" wird ebenfalls gehoistet, aber im Vergleich zu "var" befindet sich die Variable während des Hoisting in der "Temporal Dead Zone" und kann nicht vor ihrer Deklaration verwendet werden.

- Reassignment: Eine mit "let" deklarierte Variable kann neu zugewiesen werden. Achten Sie darauf, dass dies beabsichtigt ist, um unerwartete Seiteneffekte zu vermeiden.

"const":

- Block Scope: Wie "let" ist auch "const" blockübergreifend. Die Variable ist nur innerhalb des Blocks sichtbar, in dem sie deklariert wurde.

- Konstante Werte: "const" wird verwendet, um Konstanten zu deklarieren, deren Werte nicht neu zugewiesen werden können. Beachten Sie, dass dies nur für die Variable selbst gilt, nicht für ihre Eigenschaften (bei Objekten) oder Elemente (bei Arrays).

- Initialisierung: Eine mit "const" deklarierte Variable muss sofort initialisiert werden und kann danach nicht mehr neu zugewiesen werden.

6.) Gemeinsame Überlegungen:


- Verwenden Sie "const" so weit wie möglich, um unveränderliche Werte anzugeben und so versehentliche Neuzuweisungen zu vermeiden.

- Vermeiden Sie "var", wenn Sie in modernem JavaScript arbeiten. Stattdessen verwenden Sie "let" für variable Werte und "const" für Konstanten.

- Beachten Sie die Blockscope-Regeln und die "Temporal Dead Zone", um unerwartete Fehler zu vermeiden.

- Achten Sie darauf, den Scope Ihrer Variablen zu verstehen, um Konflikte und unerwartete Seiteneffekte zu minimieren.




Aktualisiert am: 28 Februar 2024 11:45 Windows
Keywords: javascript, const, untersched, allgemeinen, empfohlen, gegenüber, verwenden, bessere, scoping-regeln, bieten, jedoch, solte, doch, sachen, wissen


Ähnliche Informationen auf der Seite

Windows

... Funktion, um eine Zeichenkette umzukehren, reverse String in JavaScript?


Es ist einfach eine Funktion zu erstellen, um eine Zeichenkette umzukehren, bekannt auch als Reverse-String in JavaScript Inhalt: 1. Drei Beispiele
Windows

... Wie kann ich bestimmte elemente mit Java Script Ermitteln 


Auf dieser Seite erfahren Sie, wie Sie HTML-Elemente in einer HTML-Seite finden und darauf zugreifen per Java Script Inhalt: 1. Der einfachste Weg
Windows

... Bestimmten Text in einer textarea in HTML markieren oder eine Zeile?


Textauswahl und Zeilenmarkierung in HTML mit JavaScript IE11-kompatibel, nicht ganz einfach bestimmte Text in einer < textarea > in HTML zu markieren
Windows

... Text-Baum als hierarchisch strukturierte Liste formatieren mit JavaScript?


Das Formatieren eines Textbaums als hierarchisch strukturierte Liste mit JavaScript kann in verschiedenen Szenarien nützlich sein Der folgende JavaScript-Code analysiert
Windows

... Canvas-Schaltfläche mit Text und Textmetrik sowie Button in der Mitte?


Einen Beispiel-HTML- und JavaScript-Code zum Erstellen einer canvas mit einer Schaltfläche, die Text enthält und mit Textmetriken wird das Elemente sind
Windows

... Informationen über das Browserfenster oder HTML-Elemente abfragen?


Die Verwendung von getComputedStyle und getPropertyValue macht es vergleichsweise einfach, Informationen über das Browserfenster oder HTML-Elemente abzurufen
Windows

... Zoom-Blockierung in allen Webbrowsern mit Javascript?


Um den Seiten Zoom zu blockieren in allen Webbrowsern mit Java-Script, hier eine schlichte und elegante Lösung Inhalt: 1. Zoom-Blockierung in Webbrowsern,



▲ Zum Anfang ▲



... JavaScript Tip



3D.Benchmark.OK # AlwaysMouseWheel # AutoHideDesktopIcons # AutoPowerOptionsOK # ClassicDesktopClock # DasSindMeineDateien # DesktopDigitalClock # DesktopNoteOK # DesktopOK # DontSleep # Edge-Chromium # ExperienceIndexOK # Find.Same.Images.OK # FontViewOK # GetPixelColor # GetWindowText # Internet # IsMyHdOK # JavaScript # MatriX.CoronaKO # NewFileTime # OpenCloseDriveEject # OpenGL # Perl # PhotoResizerOK # Q-Dir # QuickMemoryTestOK # QuickTextPaste # Registry # ShortDoorNote # SicherLoeschen # StressMyPC # System # TheAeroClock # Tools # WinScan2PDF #




  

  + Freeware
  + Ordnung am PC
  + Dateiverwaltung
  + Automatisierung
  + Office Tools
  + PC-Test-Tools
  + Deko und Spaß
  + Desktop-Uhren
  + Security

  + SoftwareOK Pages
  + Micro Staff
  + Freeware-1
  + Freeware-2
  + Freeware-3
  + FAQ
  + Downloads

  + Top
  + Desktop-OK
  + The Quad Explorer
  + Don't Sleep
  + Win-Scan-2-PDF
  + Quick-Text-Past
  + Print Folder Tree
  + Find Same Images
  + Experience-Index-OK
  + Font-View-OK


  + Freeware
  + LauschAngriff
  + DesktopClock3D
  + DesktopImages3D
  + TheAeroClock
  + Bitte.Wenden
  + PointerStick
  + DesktopSnowOK
  + ProcessKO
  + FingerWeg
  + PAD-s


Home | Danke | Kontakt | Link | FAQ | Settings | Windows 2015 | eBlog | English-AV | Impressum | Translate | PayPal | PAD-s

 © 2025 by Nenad Hrg ERR2: softwareok.de • softwareok.de • softwareok.com • softwareok.eu
62.994 msec.


>> ☕ Kaufe SoftwareOK einen Kaffee ☕ <<



► Windows 10 / 11 Kennwortalter / Kennwortablaufdatum verlängern! ◄
► Infobereich Symbole der Windows 10 / 11 Taskleiste klassisch anpassen! ◄
► Objektanzahl, Verzeichnisgröße, Größenangaben und Informationen in der Statusleiste! ◄
► Mit Perl die gleichen String Regeln wie im MS Windows Menü? ◄


Diese Webseite speichert keine personenbezogenen Daten. Allerdings werden Drittanbieter verwendet, um Werbung zu schalten.
Diese wird von Google verwaltet und entspricht dem IAB Transparency and Consent Framework (IAB-TCF).
Die CMP-ID lautet 300 und kann am Seitenende individuell angepasst werden.
mehr Infos & Datenschutz

....