Detaillierte Einführung in die Grundkonzepte von JS

Detaillierte Einführung in die Grundkonzepte von JS

Viele Leute übersehen die theoretischen Aspekte von Javascript , bevor sie sich Javascript vertiefen. Diese Konzepte helfen uns, die unterschiedlichen Pfade und Muster zu verstehen, die wir beim Erstellen Javascript Anwendungen verfolgen. Diese Muster sind in jedem Framework in JS Land vorhanden, daher ist es sinnvoll, diese Konzepte zu verstehen, bevor man die Sprache selbst lernt.

1. Eigenschaften von JS

1.1 Multiparadigma

Javascript unterstützt prozedurale, objektorientierte und ereignisgesteuerte funktionale Programmierung! Die Beherrschung des objektorientierten Programmierstils JS ist sehr nützlich.

Objektorientierte Programmierung hilft Programmierern, die Komponenten einer Softwareanwendung einfacher zu visualisieren. Darüber hinaus können Programmierer durch das Erlernen Typescript (Javascript mit Typen) die besten Designmuster der Branche problemlos implementieren. Diese Entwurfsmuster werden verwendet, um die häufigsten Probleme bei der Softwareprogrammierung auf möglichst effiziente Weise zu lösen.

Diese Vielseitigkeit macht Javascript sehr zugänglich und dennoch sehr leistungsstark.

1.2 Erläuterung

Der Unterschied zu C/C++ besteht darin, dass Javascript das Programm nicht auf einmal liest, sondern zeilenweise interpretiert. Dies bedeutet, dass JS langsamer ist als kompilierte Sprachen wie C/C++ .

Warnung: Javascript ist dafür bekannt, zur Laufzeit eine äußerst reaktive Sprache zu sein, was die Fehlerbehebung sehr schwierig macht.

Aber mit der Zeit und etwas Übung werden Sie lernen, reibungslos zu laufen. Der häufigste Fehler besteht darin, dass Ihre Variablen NULL -Werte zurückgeben. Wenn derartige Probleme auftreten, gehen Sie zu Stack Overflow , denn ich verspreche Ihnen, dass Sie, egal wie schwerwiegend der Fehler ist, nicht die erste Person sind, die damit konfrontiert wird. Es ist auch eine gute Idee, console.log() bei der Entwicklung Ihres Projekts großzügig zu verwenden. Auf diese Weise können Sie den genauen Zeitpunkt im Lebenszyklus Ihres Programms bestimmen, an dem Ihre Variablen möglicherweise ausgefallen sind.

1.3 Einzelthread

Javascript kann immer nur eine Aufgabe gleichzeitig ausführen. Es reiht unterschiedliche Aufgaben je nach Typ in unterschiedliche Warteschlangen ein.
Im abstraktesten Sinne gruppiert Javascript im Wesentlichen synchrone und asynchrone Aufgaben und stellt sie separat in die Warteschlange.

Synchrone Tasks sind Anweisungen, die verarbeitet werden, sobald sie auftreten, das heißt, sie werden sofort ausgeführt. Zu diesen Aufgaben gehören Protokollierungsanweisungen, Variablendeklarationen, Bedingungsprüfungen usw.

Bei asynchronen Aufgaben handelt es sich um Aufgaben, deren Ausgabe unterschiedlich lange dauern kann. Ein Beispiel für eine asynchrone Aufgabe könnte das Anfordern von Informationen von Web API sein.

Darüber hinaus verfügt Javascript über eine Job Queue , die JS Feature namens „ Promises verarbeitet.

Sie können die Single-Thread-Natur von Javascript tatsächlich sehen, indem Sie mit der rechten Maustaste auf diese Webseite klicken und dann auf die Registerkarte „Untersuchen“ klicken. Wechseln Sie als Nächstes zur Registerkarte „Konsole“ im Fenster, das Sie gerade geöffnet haben. Geben Sie den folgenden Code ein und drücken Sie die Eingabetaste. \

während(wahr) {}


Sie können jetzt feststellen, dass diese Seite überhaupt nicht reagiert. Dies liegt daran, dass Javascript auf dieser Seite jetzt damit beschäftigt ist, die unendliche While-Schleife auszuführen, die wir oben ausgeführt haben.

1.4 Nicht blockierend

Wir haben asynchrone Aufgaben bereits besprochen. Da JS in einer Single-Thread-Umgebung ausgeführt wird, wartet es standardmäßig nicht!

Asynchrone Codeblöcke werden erst ausgeführt, nachdem die Ausführung aller synchronen Codeblöcke abgeschlossen ist, unabhängig von der Position des Codes im Programm.

console.log("Ich bin die erste Anweisung")

setzeTimeout(()=> {
console.log("Ich bin die zweite Anweisung")
},1000)

console.log("Ich bin die dritte Anweisung")

Hier protokolliert console.log() die Anweisungen in der Konsole und setTimeout() führt die zweite Anweisung nach einer Sekunde aus.

Beim Überprüfen der Ausgabe

Ich bin die erste Aussage. Ich bin die dritte Aussage. Ich bin die zweite Aussage.

Wir können sehen, dass die dritte Anweisung vor der zweiten Anweisung protokolliert wird. Dies liegt an der inhärenten Art und Weise, wie JS synchrone und asynchrone Codeblöcke verarbeitet.

1.5 Erweitert

JavaScript ist eine höhere Programmiersprache. Höherstufige Sprachen können lediglich bedeuten, dass sie den von Menschen gesprochenen Sprachen näher kommen. Höherstufige Sprachen bieten mehr Funktionen, die es Programmierern ermöglichen, besser auszudrücken, was sie erstellen möchten.

Diese fortschrittliche Natur von Javascript trägt dazu bei, dass es den clientseitigen Teil Web optimal unterstützt. Eine der größten Einschränkungen von JS in der Vergangenheit bestand darin, dass es nur auf der Clientseite ausgeführt werden konnte und keine Dateimanipulationen wie die meisten serverseitigen Sprachen ermöglichte.

Dies hat sich jedoch NodeJS geändert, wodurch Entwickler Backend-Server mit Javascript erstellen können. Daher können Softwareentwickler mit nur einer Sprache sowohl auf der Server- als auch auf der Clientseite arbeiten. Dies hat zum Aufstieg der Full-Stack-Ingenieure geführt.

1.6 Dynamische Typisierung

Javascript ist auch eine dynamisch typisierte Sprache. Dies bedeutet, dass wir im Gegensatz zu C , wo wir einen Datentyp für eine Variable angeben müssen, in Javascript type-inference verwenden können, um den Typ der in einer Variablen enthaltenen Daten automatisch zu erkennen. \

// In C müssen Variablen einen Datentyp haben. Um den Datentyp von einem Typ in einen anderen zu ändern, müssen wir die Typkonvertierung int a = 5 verwenden.
Zeichen b = "a";
Gleitkomma c = 7,036;


In Javascript verwenden wir let und const , um Variablen bzw. Konstanten zu deklarieren. \

sei a = 5
console.log(a) // 5
a = 'Hallo Welt'
console.log(a) // Hallo Welt

const b = 'JS ist cool' 
console.log(b) // JS ist cool b = 'Ich habe meine Meinung geändert'
console.log(b) // Fehler: const kann nicht geändert werden

Obwohl die Typinferenz aufgrund ihrer einfachen Handhabung ein Pluspunkt zu sein scheint, wird sie bei größeren Projekten, bei denen Typensicherheit eine Rolle spielt, sofort zum Nachteil.

Aus diesem Grund verwenden größere Projekte TypeScript , das lediglich ein Wrapper um Javascript ist, der Typen, Schnittstellen und verschiedene andere Funktionen bereitstellt.

2. Lernstrategien

Es hat eine Weile gedauert, bis ich mich in JS Land eingelebt habe, aber ich habe eine einfache Checkliste mit Minimum Requirements zum Erlernen eines Frameworks wie Express oder ReactJS .

Erstens: Überstürzen Sie nichts beim Erlernen dieser Frameworks. Sie müssen einige Zeit damit verbringen, Vanilla Javascript zu beherrschen.

3. Grundkenntnisse

  • Variablen und Konstanten
  • Bedingte Blöcke ( if-else )
  • Schleifen ( for , while , forEach )
  • Switch Case
  • Functions

Fortgeschrittenenbereich (Mindestanforderung)

  • Asynchron/Warten
  • Promises
  • Kurse in Javascript
  • Rest / Spread -Syntax
  • Array-/Objekt-Iteratoren
  • Array-Destrukturierung
  • Module (Import, Export)

Lernen Sie beim Erstellen Ihrer Projekte weiter, und schon bald werden Sie die Sprache gut beherrschen.

Dies ist das Ende dieses Artikels zur ausführlichen Einführung in die grundlegenden Konzepte von JS. Weitere relevante grundlegende Konzepte von JS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der JavaScript-Ereigniskonzepte (Unterscheidung zwischen statischer und dynamischer Registrierung)
  • Das Konzept und die Verwendung der Bereichskette in JavaScript
  • Zusammenfassung der grundlegenden Kenntnisse und Konzepte der objektorientierten JavaScript-Architektur
  • Das Konzept des Prozesses in node.js und das Anwendungsbeispiel des child_process-Moduls
  • Analyse des Konzepts und der Verwendung von Closures in JavaScript

<<:  Dockerfile-Implementierungscode beim Starten von zwei Prozessen in einem Docker-Container

>>:  Detailliertes Tutorial zur Registrierung und Aktivierung von Navicat für MySQL 15

Artikel empfehlen

Kann die wiederholbare Leseebene von MySQL Phantomlesevorgänge lösen?

Einführung Als ich mehr über die Datenbanktheorie...

Verwenden Sie „overflow: hidden“, um Seiten-Bildlaufleisten zu deaktivieren

Code kopieren Der Code lautet wie folgt: html { Ü...

jQuery-Plugin zur Implementierung des Suchverlaufs

Jeden Tag ein jQuery-Plugin – um einen Suchverlau...

MySQL verwendet Binlog-Protokolle zur Implementierung der Datenwiederherstellung

MySQL Binlog ist ein sehr wichtiges Protokoll in ...

Detaillierte Erklärung der Getter-Verwendung in vuex

Vorwort Mit Vuex können wir im Store „Getter“ def...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.19 (Win10)

Detailliertes Tutorial zum Herunterladen und Inst...

Verwendung von TypeScript-Generics

Inhaltsverzeichnis 1. Einfach zu bedienen 2. Verw...

Kleine Details der Web-Frontend-Entwicklung

1 Das Select-Tag muss geschlossen sein <select&...

Spezifische Methode zum Anzeigen von Benutzerautorisierungsinformationen in MySQL

Spezifische Methode: 1. Öffnen Sie die Eingabeauf...