typeof w JavaScript
- Poprzednia strona Metoda Map JS
- Następna strona Konwersja typów JS
typeof w JavaScript
W JavaScript istnieją 5 różnych typów danych, które mogą zawierać wartości:
string
number
boolean
object
function
Istnieją 6 typów obiektów:
Object
Date
Array
String
Number
Boolean
oraz 2 typów danych, które nie mogą zawierać wartości:
null
undefined
Operator typeof
Możesz użyć typeof
Operator do określenia typu danych zmiennej JavaScript.
Przykład
typeof "Bill" // zwraca "string" typeof 3.14 // zwraca "number" typeof NaN // zwraca "number" typeof false // zwraca "boolean" typeof [1,2,3,4] // zwraca "object" typeof {name:'Bill', age:19} // zwraca "object" typeof new Date() // zwraca "object" typeof function () {} // zwraca "function" typeof myCar // zwraca "undefined" * typeof null // zwraca "object"
Uwaga:
- Typ danych NaN to liczba
- Typ danych tablicy to obiekt
- Typ danych daty to obiekt
- Typ danych null to obiekt
- Typ danych niezdefiniowanej zmiennej wynosi undefined *
- Typ danych nieprzypisanej zmiennej również jest undefined *
Nie możesz użyć typeof
aby określić, czy obiekt JavaScript jest tablicą (lub datą).
Oryginalna data
Wartość danych oryginalnych to pojedyncza prosta wartość danych bez dodatkowych atrybutów i metod.
typeof
Operator może zwrócić jeden z następujących typów danych oryginalnych:
string
number
boolean
undefined
Przykład
typeof "Bill" // Zwraca "string" typeof 3.14 // Zwraca "number" typeof true // Zwraca "boolean" typeof false // Zwraca "boolean" typeof x // Zwraca "undefined" (jeśli x nie ma wartości)
Złożone dane
typeof
Operator może zwrócić jeden z dwóch złożonych typów:
function
object
typeof
Operator zwróci "object" dla obiektów, tablic i null.
typeof
Operator nie zwróci "object" dla funkcji.
Przykład
typeof {name:'Bill', age:19} // Zwraca "object" typeof [1,2,3,4] // Zwraca "object"(nie "array",proszę zwrócić uwagę na poniższy przykład) typeof null // Zwraca "object" typeof function myFunc(){} // Zwraca "function"
typeof
Operator zwróci dla tablicy "object"
ponieważ w JavaScript array jest obiektem.
Typ danych typeof
typeof
Operator nie jest zmienną. Jest to tylko operator. Operator (+ - * /) nie ma żadnego typu danych.
Ale,typeof
Operator zawszeZwraca ciąg znaków(zawiera typ operanda)。
Atrybut constructor
constructor
Atrybut zwraca konstruktor wszystkich zmiennych JavaScript.
Przykład
"Bill".constructor // Zwraca funkcję String() {[kod natywny]} (3.14).constructor // Zwraca funkcję Number() {[kod natywny]} false.constructor // Zwraca funkcję Boolean() {[kod natywny]} [1,2,3,4].constructor // Zwraca function Array() {[native code]} {name:'Bill',age:19}.constructor // Zwraca function Object() {[native code]} new Date().constructor // Zwraca function Date() {[native code]} function () {}.constructor // Zwraca function Function(){[native code]}
Możesz sprawdzić atrybut constructor, aby określić, czy obiekt jest tablicą (włączając "Array"
słowo):
Przykład
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
albo bardziej prosto, możesz sprawdzić, czy obiekt jestfunkcja tablicy:
Przykład
function isArray(myArray) { return myArray.constructor === Array; }
Możesz sprawdzić atrybut constructor, aby określić, czy obiekt jest datą (włączając "Date"
słowo):
Przykład
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
albo bardziej prosto, możesz sprawdzić, czy obiekt jestfunkcja daty:
Przykład
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
W JavaScriptie, zmienna bez wartości ma wartość undefined
. Typ również jest undefined
。
Przykład
let car; // Wartość to undefined, typ również jest undefined.
przez ustawienie jego wartości na undefined
może wyczyścić każdą zmienną. Typ również będzie undefined
。
Przykład
car = undefined; // Wartość to undefined, typ również jest undefined.
Pusta wartość
Pusta wartość z undefined
Bez znaczenia.
Pusta strona zarówno ma legalną wartość, jak i typ.
Przykład
let car = ""; // Wartość to "", typ to "string"
Null
w JavaScriptie null
to "nie ma wartości". Powinno to być coś, co nie istnieje.
Niestety, w JavaScriptie,null
Typ danych jest obiektem.
Możesz myśleć o nim jako o błędzie w JavaScripttypeof null
To jest obiekt. Typ powinien być null
。
Możesz ustawić obiekt na: null
Aby wyczyścić obiekt:
Przykład
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // teraz wartość to null, ale typ nadal jest obiektem
Możesz również ustawić obiekt na: undefined
Aby wyczyścić obiekt:
Przykład
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // teraz wartość i typ są undefined
Różnice między undefined a null
undefined
i null
Wartości są równe, ale typy różne:
typeof undefined // undefined typeof null // obiekt null === undefined // fałsz null == undefined // prawda
- Poprzednia strona Metoda Map JS
- Następna strona Konwersja typów JS