The JavaScript-operaattorityyppi palauttaa muuttujan tai lausekkeen tietotyypin. Se on unaarinen operaattori, joka on asetettu sen operandin eteen ja palauttaa tietotyypin osoittavan merkkijonon, kuten numeron, merkkijonon, boolen, objektin, määrittelemättömän, funktion tai symbolin. Sitä käytetään yleisesti määrittämään dynaamisesti käsiteltävän tiedon tyyppi, mikä helpottaa ehdollista logiikkaa ja tyypin tarkistusta JavaScript-ohjelmissa.
Syntaksi:
typeof operand // OR typeof (operand)>
Primitiiviset tietotyypit
JavaScriptin primitiiviset tietotyypit ovat perustietotyyppejä, jotka edustavat yksittäisiä arvoja. Ne sisältävät:
Tietotyyppi | Kuvaus |
---|---|
Määrä | Edustaa numeerisia arvoja, kuten kokonaislukuja ja liukulukuja. |
merkkijono | Edustaa tekstitietoa lainausmerkkien () tai lainausmerkkien () sisällä. |
Boolean | Edustaa oikeita tai vääriä arvoja. |
Määrittelemätön | Edustaa muuttujaa, joka on ilmoitettu, mutta jolle ei ole annettu arvoa. |
Tyhjä | Edustaa objektiarvon tarkoituksellista puuttumista. |
Symboli | Edustaa ainutlaatuista ja muuttumatonta tietotyyppiä, jota käytetään objektin ominaisuuden avaimena. |
BigInt | Edustaa suuria kokonaislukuja, jotka ylittävät Number-tyypin rajan. |
Esimerkki 1: Alla esimerkissä näytetään typeof-operaattorin tulokset premitiivisille tietotyypeille.
Javascript // Define variables with different primitive data types const num = 10; const str = 'Hello'; const bool = true; const undef = undefined; const nul = null; const sym = Symbol('symbol'); const bigInt = 9007199254740991n; // Use typeof operator to determine the data type console.log(typeof num); // Output: 'number' console.log(typeof str); // Output: 'string' console.log(typeof bool); // Output: 'boolean' console.log(typeof undef); // Output: 'undefined' console.log(typeof nul); // Output: 'object' (typeof null is an oddity, // it returns 'object') console.log(typeof sym); // Output: 'symbol' console.log(typeof bigInt);// Output: 'bigint'>
Lähtö
number string boolean undefined object symbol bigint>
Esimerkki 2: Tässä esimerkissä käytetään '===' (tiukka tasa-arvovertailuoperaattori), joka vertaa arvoa ja kirjoittaa molemmat ja palauttaa sitten tosi tai epätosi.
javascript
//Number console.log(typeof 25 === 'number'); console.log(typeof 3.14 === 'number'); console.log(typeof (69) === 'number'); // log base 10 console.log(typeof Math.LN10 === 'number'); console.log(typeof Infinity === 'number'); // Despite being 'Not-A-Number' console.log(typeof NaN === 'number'); // Wrapping in Number() function console.log(typeof Number('100') === 'number');>
Selitys: Ensimmäisessä console.log()-tiedostossa js alkaa kääntää vasemmalta oikealle ja laskee ensin tyypin 25, joka on 'numero', ja sitten vertaa sitä numeroon ja palauttaa lopuksi arvon tosi tai epätosi vastaavasti.
luokka vs objekti java
Lähtö
true true true true true true true>
Esimerkki 3: Tässä esimerkissä verrataan funktion tietotyyppiä typeof-operaattorilla.
javascript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Lähtö
true true true>