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 typeof
operateur 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 typeof
om 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 typeof
operateur 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 typeof
operateur kan een van twee komplekse tipes terugstuur:
function
object
Die typeof
operateur gee "voorwerp" vir voorwerpe, skikkings en nul terug.
Die typeof
operateur 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 typeof
operateur gee " object
" terug vir skikkings, want in JavaScript is skikkings objekte.
Die datatipe tipe
Die typeof
operateur is nie 'n veranderlike nie. Dit is 'n operateur. Operateurs ( + - * / ) het geen datatipe nie.
Maar die typeof
operateur gee altyd 'n string terug (wat die tipe operand bevat).
Die konstruktor Eiendom
Die constructor
eienskap 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 null
is "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
undefined
en null
is gelyk in waarde maar verskil in tipe:
typeof undefined
// undefined
typeof null
// object
null === undefined
// false
null == undefined
// true