JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript-Typ


In JavaScript gibt es 5 verschiedene Datentypen, die Werte enthalten können:

  • string
  • number
  • boolean
  • object
  • function

Es gibt 6 Arten von Objekten:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

Und 2 Datentypen, die keine Werte enthalten können:

  • null
  • undefined

Der Typ des Operators

Sie können den typeofOperator verwenden, um den Datentyp einer JavaScript-Variablen zu finden.

Beispiel

typeof "John"                 // Returns "string"
typeof 3.14                   // Returns "number"
typeof NaN                    // Returns "number"
typeof false                  // Returns "boolean"
typeof [1,2,3,4]              // Returns "object"
typeof {name:'John', age:34}  // Returns "object"
typeof new Date()             // Returns "object"
typeof function () {}         // Returns "function"
typeof myCar                  // Returns "undefined" *
typeof null                   // Returns "object"

Bitte beachten:

  • Der Datentyp von NaN ist Zahl
  • Der Datentyp eines Arrays ist Objekt
  • Der Datentyp eines Datums ist Objekt
  • Der Datentyp von null ist Objekt
  • Der Datentyp einer undefinierten Variablen ist undefiniert *
  • Der Datentyp einer unbewerteten Variable ist ebenfalls undefiniert *

Sie können nicht verwenden typeof, um festzustellen, ob ein JavaScript-Objekt ein Array (oder ein Datum) ist.



Primitive Daten

Ein primitiver Datenwert ist ein einzelner einfacher Datenwert ohne zusätzliche Eigenschaften und Methoden.

Der typeofOperator kann einen dieser primitiven Typen zurückgeben:

  • string
  • number
  • boolean
  • undefined

Beispiel

typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)

Komplexe Daten

Der typeofOperator kann einen von zwei komplexen Typen zurückgeben:

  • function
  • object

Der typeofOperator gibt "object" für Objekte, Arrays und null zurück.

Der typeofOperator gibt "object" nicht für Funktionen zurück.

Beispiel

typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

Der typeofOperator gibt " object" für Arrays zurück, da Arrays in JavaScript Objekte sind.


Der Datentyp von typeof

Der typeofOperator ist keine Variable. Es ist ein Operator. Operatoren ( + - * / ) haben keinen Datentyp.

Der typeofOperator gibt jedoch immer eine Zeichenfolge zurück (die den Typ des Operanden enthält).


Die Konstruktor-Eigenschaft

Die constructorEigenschaft gibt die Konstruktorfunktion für alle JavaScript-Variablen zurück.

Beispiel

"John".constructor                // Returns function String()  {[native code]}
(3.14).constructor                // Returns function Number()  {[native code]}
false.constructor                 // Returns function Boolean() {[native code]}
[1,2,3,4].constructor             // Returns function Array()   {[native code]}
{name:'John',age:34}.constructor  // Returns function Object()  {[native code]}
new Date().constructor            // Returns function Date()    {[native code]}
function () {}.constructor        // Returns function Function(){[native code]}

Sie können die Konstruktor-Eigenschaft überprüfen, um herauszufinden, ob ein Objekt ein Array (enthält das Wort "Array") ist:

Beispiel

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

Oder noch einfacher, Sie können überprüfen, ob das Objekt eine Array-Funktion ist :

Beispiel

function isArray(myArray) {
  return myArray.constructor === Array;
}

Sie können die Konstruktor-Eigenschaft überprüfen, um herauszufinden, ob ein Objekt ein Date(enthält das Wort "Datum") ist:

Beispiel

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

Oder noch einfacher, Sie können überprüfen, ob das Objekt eine Datumsfunktion ist :

Beispiel

function isDate(myDate) {
  return myDate.constructor === Date;
}


Nicht definiert

In JavaScript hat eine Variable ohne Wert den Wert undefined. Der Typ ist auch undefined.

Beispiel

let car;    // Value is undefined, type is undefined

Jede Variable kann geleert werden, indem der Wert auf gesetzt wird undefined. Der Typ wird auch sein undefined.

Beispiel

car = undefined;    // Value is undefined, type is undefined

Leere Werte

Ein leerer Wert hat nichts mit zu tun undefined.

Eine leere Zeichenfolge hat sowohl einen zulässigen Wert als auch einen Typ.

Beispiel

let car = "";    // The value is "", the typeof is "string"

Null

In JavaScript nullist "nichts". Es soll etwas sein, was es nicht gibt.

Leider ist der Datentyp in JavaScript nullein Objekt.

Sie können es als Fehler in JavaScript betrachten, typeof nullder ein Objekt ist. Es sollte sein null.

Sie können ein Objekt leeren, indem Sie es auf Folgendes setzen null:

Beispiel

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

Sie können ein Objekt auch leeren, indem Sie es auf Folgendes setzen undefined:

Beispiel

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

Unterschied zwischen Undefiniert und Null

undefinedund nullsind gleich im Wert, aber unterschiedlich im Typ:

typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true