JS-zelfstudie

JS HOME JS Introductie JS Waarheen? JS-uitgang JS-verklaringen JS-syntaxis JS-opmerkingen JS-variabelen JS Let JS Const JS-operators JS Rekenen JS-opdracht JS-gegevenstypen JS-functies JS-objecten JS-evenementen JS-snaren JS String-methoden JS String zoeken JS String-sjablonen JS-nummers JS-nummermethoden JS-arrays JS-array-methoden JS-array sorteren JS-array-iteratie JS Array Const JS-datums JS-datumnotaties JS Datum Ophaalmethoden Methoden voor het instellen van JS-datum JS Math JS Willekeurig JS Booleans JS-vergelijkingen JS-voorwaarden JS-schakelaar JS Loop For JS-lus voor binnen JS Loop For Of JS-lus terwijl JS Break JS-iteraties JS-sets JS-kaarten JS Typeof JS Type conversie JS Bitwise JS RegExp JS-fouten JS-bereik JS Hijsen JS strikte modus JS dit trefwoord JS-pijlfunctie JS-lessen JS JSON JS-foutopsporing JS-stijlgids JS-best practices JS-fouten JS-prestaties JS Gereserveerde Woorden

JS-versies

JS-versies JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-geschiedenis

JS-objecten

Objectdefinities Objecteigenschappen Objectmethoden Objectweergave Objectaccessoires Objectconstructeurs Objectprototypes Object-Iterables Objectsets Objectkaarten Objectreferentie

JS-functies

Functiedefinities Functieparameters: Functie-aanroep Functie-oproep: Functie Toepassen Functie Sluitingen

JS-lessen

Klas Intro Klasse Overerving Klasse Statisch

JS Asynchrone

JS-callbacks JS asynchroon JS belooft JS Async/Wachten

JS HTML DOM

DOM Intro DOM-methoden DOM-document DOM-elementen DOM HTML DOM-formulieren DOM-CSS DOM-animaties DOM-evenementen DOM-gebeurtenisluisteraar DOM-navigatie DOM-knooppunten DOM-collecties DOM-knooppuntlijsten

JS-browserstuklijst

JS-venster JS-scherm JS-locatie JS-geschiedenis JS-navigator JS pop-upwaarschuwing JS-timing JS-koekjes

JS Web API's

Introductie web-API Web Forms API Webgeschiedenis-API Webopslag-API Web Worker-API Web Fetch-API Webgeolocatie-API

JS AJAX

Ajax-intro AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

JS JSON

JSON-intro JSON-syntaxis JSON versus XML JSON-gegevenstypen JSON ontleden JSON Stringify JSON-objecten JSON-arrays JSON-server JSON PHP JSON HTML JSON JSONP

JS versus jQuery

jQuery-kiezers jQuery HTML jQuery CSS jQuery DOM

JS-graphics

JS-graphics JS Canvas JS Plotly JS Chart.js JS Google-kaart JS D3.js

JS-voorbeelden

JS-voorbeelden JS HTML DOM JS HTML-invoer JS HTML-objecten JS HTML-evenementen JS-browser JS-editor JS-oefeningen JS-quiz JS-certificaat

JS-referenties

JavaScript-objecten HTML DOM-objecten


JavaScript-type van


In JavaScript zijn er 5 verschillende datatypes die waarden kunnen bevatten:

  • string
  • number
  • boolean
  • object
  • function

Er zijn 6 soorten objecten:

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

En 2 gegevenstypen die geen waarden kunnen bevatten:

  • null
  • undefined

Het type operator:

U kunt de typeofoperator gebruiken om het gegevenstype van een JavaScript-variabele te vinden.

Voorbeeld

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"

Let op:

  • Het gegevenstype van NaN is getal
  • Het gegevenstype van een array is object
  • Het gegevenstype van een datum is object
  • Het gegevenstype van null is object
  • Het gegevenstype van een ongedefinieerde variabele is ongedefinieerd *
  • Het gegevenstype van een variabele waaraan geen waarde is toegewezen, is ook niet gedefinieerd *

U kunt niet gebruiken typeofom te bepalen of een JavaScript-object een array (of een datum) is.



Primitieve gegevens

Een primitieve gegevenswaarde is een enkele eenvoudige gegevenswaarde zonder aanvullende eigenschappen en methoden.

De typeofoperator kan een van deze primitieve typen retourneren:

  • string
  • number
  • boolean
  • undefined

Voorbeeld

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)

Complexe gegevens

De typeofoperator kan een van de twee complexe typen retourneren:

  • function
  • object

De typeofoperator retourneert "object" voor objecten, arrays en null.

De typeofoperator retourneert geen "object" voor functies.

Voorbeeld

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"

De typeofoperator retourneert " object" voor arrays omdat in JavaScript arrays objecten zijn.


Het gegevenstype van het type

De typeofoperator is geen variabele. Het is een exploitant. Operators ( + - * / ) hebben geen gegevenstype.

Maar de typeofoperator retourneert altijd een tekenreeks (met het type operand).


De constructeur Property

De constructoreigenschap retourneert de constructorfunctie voor alle JavaScript-variabelen.

Voorbeeld

"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]}

U kunt de eigenschap constructor controleren om te zien of een object een is Array (bevat het woord "Array"):

Voorbeeld

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

Of nog eenvoudiger, u kunt controleren of het object een matrixfunctie is :

Voorbeeld

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

U kunt de constructoreigenschap controleren om erachter te komen of een object een is Date(bevat het woord "Date"):

Voorbeeld

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

Of nog eenvoudiger, u kunt controleren of het object een datumfunctie is :

Voorbeeld

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


Niet gedefinieerd

In JavaScript heeft een variabele zonder waarde de waarde undefined. Het type is ook undefined.

Voorbeeld

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

Elke variabele kan worden geleegd door de waarde in te stellen op undefined. Het type zal ook undefined.

Voorbeeld

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

Lege waarden

Een lege waarde heeft niets te maken met undefined.

Een lege string heeft zowel een legale waarde als een type.

Voorbeeld

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

Nul

In JavaScript nullis "niets". Het moet iets zijn dat niet bestaat.

Helaas is in JavaScript het gegevenstype van nulleen object.

Je kunt het beschouwen als een bug in JavaScript dat typeof nulleen object is. Het zou moeten zijn null.

U kunt een object leegmaken door het in te stellen op null:

Voorbeeld

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

U kunt een object ook leegmaken door het in te stellen op undefined:

Voorbeeld

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

Verschil tussen ongedefinieerd en nul

undefineden nullzijn gelijk in waarde maar verschillend in type:

typeof undefined           // undefined
typeof null                // object

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