JS Tutoriaal

JS TUIS JS Inleiding JS Waarheen JS Uitset JS Verklarings JS sintaksis JS Kommentaar JS veranderlikes JS Laat JS Konst JS-operateurs JS Rekenkunde JS Opdrag JS datatipes JS Funksies JS Voorwerpe JS Events JS Strings JS String Metodes JS String Soek JS String Templates JS nommers JS-nommermetodes JS Skikkings JS Skikking Metodes JS Array Sorteer JS Skikking Iterasie JS Array Konst JS Datums JS Datum Formate JS Datum Kry Metodes JS Datum Stel Metodes JS Wiskunde JS Random JS Booleans JS Vergelykings JS Voorwaardes JS Skakelaar JS Loop Vir JS Loop For In JS Loop Vir Van JS Loop Terwyl JS Break JS Iterables JS-stelle JS Kaarte JS tipe JS Tipe Omskakeling JS Bitwise JS RegExp JS foute JS Bestek JS Hysing JS Streng modus JS hierdie sleutelwoord JS Arrow Funksie JS Klasse JS JSON JS Ontfouting JS Stylgids JS Beste Praktyke JS foute JS prestasie JS Voorbehou Woorde

JS weergawes

JS weergawes JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS Geskiedenis

JS Voorwerpe

Voorwerpdefinisies Voorwerp Eienskappe Voorwerp Metodes Voorwerp vertoon Voorwerptoebehore Voorwerpkonstrukteurs Voorwerpprototipes Object Iterables Voorwerpstelle Voorwerpkaarte Voorwerpverwysing

JS Funksies

Funksie definisies Funksie parameters Funksie Aanroep Funksie oproep Funksie Pas toe Funksie sluitings

JS Klasse

Klasintro Klas Erfenis Klas Staties

JS Async

JS Terugbelle JS Asynchroon JS Beloftes JS Async/Wag

JS HTML DOM

DOM Inleiding DOM Metodes DOM-dokument DOM Elemente DOM HTML DOM-vorms DOM CSS DOM-animasies DOM-geleenthede DOM Gebeurtenis Luisteraar DOM-navigasie DOM nodusse DOM Versamelings DOM Node lyste

JS Browser BOM

JS venster JS skerm JS ligging JS Geskiedenis JS Navigator JS Popup Alert JS Tydsberekening JS koekies

JS Web API's

Web API Inleiding Webvorms API Webgeskiedenis API Webberging API Webwerker API Web haal API Web Geolocation API

JS AJAX

AJAX Intro AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

JS JSON

JSON Inleiding JSON-sintaksis JSON vs XML JSON-datatipes JSON Ontleed JSON Stringify JSON-voorwerpe JSON-skikkings JSON-bediener JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery keurders jQuery HTML jQuery CSS jQuery DOM

JS grafika

JS grafika JS Canvas JS Plot JS Chart.js JS Google Chart JS D3.js

JS Voorbeelde

JS Voorbeelde JS HTML DOM JS HTML-invoer JS HTML-voorwerpe JS HTML-geleenthede JS Blaaier JS Redakteur JS Oefeninge JS Vasvra JS Sertifikaat

JS Verwysings

JavaScript-voorwerpe HTML DOM-voorwerpe


JavaScript tipe


In JavaScript is daar 5 verskillende datatipes wat waardes kan bevat:

  • string
  • number
  • boolean
  • object
  • function

Daar is 6 soorte voorwerpe:

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

En 2 datatipes wat nie waardes kan bevat nie:

  • null
  • undefined

Die tipe operateur

Jy kan die typeofoperateur gebruik om die datatipe van 'n JavaScript-veranderlike te vind.

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"

Neem asseblief kennis:

  • Die datatipe NaN is getal
  • Die datatipe van 'n skikking is objek
  • Die datatipe van 'n datum is objek
  • Die datatipe nul is objek
  • Die datatipe van 'n ongedefinieerde veranderlike is ongedefinieerd *
  • Die datatipe van 'n veranderlike wat nie 'n waarde toegeken is nie, is ook ongedefinieerd *

Jy kan nie gebruik typeofom te bepaal of 'n JavaScript-objek 'n skikking (of 'n datum) is nie.



Primitiewe data

'n Primitiewe datawaarde is 'n enkele eenvoudige datawaarde met geen bykomende eienskappe en metodes nie.

Die typeofoperateur kan een van hierdie primitiewe tipes terugstuur:

  • 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)

Komplekse data

Die typeofoperateur kan een van twee komplekse tipes terugstuur:

  • function
  • object

Die typeofoperateur gee "voorwerp" vir voorwerpe, skikkings en nul terug.

Die typeofoperateur gee nie "voorwerp" vir funksies terug nie.

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"

Die typeofoperateur gee " object" terug vir skikkings, want in JavaScript is skikkings objekte.


Die datatipe tipe

Die typeofoperateur is nie 'n veranderlike nie. Dit is 'n operateur. Operateurs ( + - * / ) het geen datatipe nie.

Maar die typeofoperateur gee altyd 'n string terug (wat die tipe operand bevat).


Die konstruktor Eiendom

Die constructoreienskap gee die konstruktorfunksie vir alle JavaScript-veranderlikes terug.

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

Jy kan die konstruktor-eienskap nagaan om uit te vind of 'n voorwerp 'n Array (bevat die woord "Array"):

Voorbeeld

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

Of selfs eenvoudiger, jy kan kyk of die voorwerp 'n Array-funksie is :

Voorbeeld

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

U kan die konstruktor-eienskap nagaan om uit te vind of 'n voorwerp 'n Date(bevat die woord "Datum") is:

Voorbeeld

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

Of selfs eenvoudiger, jy kan kyk of die voorwerp 'n datumfunksie is :

Voorbeeld

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


Ongedefinieerd

In JavaScript het 'n veranderlike sonder 'n waarde die waarde undefined. Die tipe is ook undefined.

Voorbeeld

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

Enige veranderlike kan leeggemaak word deur die waarde op te stel undefined. Die tipe sal ook wees undefined.

Voorbeeld

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

Leë waardes

'n Leë waarde het niks te doen met undefined.

'n Leë string het beide 'n wettige waarde en 'n tipe.

Voorbeeld

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

Nul

In JavaScript nullis "niks" nie. Dit is veronderstel om iets te wees wat nie bestaan ​​nie.

Ongelukkig, in JavaScript, is die datatipe null'n objek.

Jy kan dit as 'n fout in JavaScript beskou wat typeof null'n voorwerp is. Dit behoort te wees null.

Jy kan 'n voorwerp leegmaak deur dit te stel na null:

Voorbeeld

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

Jy kan ook 'n voorwerp leegmaak deur dit te stel na undefined:

Voorbeeld

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

Verskil tussen ongedefinieerd en nul

undefineden nullis gelyk in waarde maar verskil in tipe:

typeof undefined           // undefined
typeof null                // object

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