Number() se transformă într - un număr, String() transformă într - un șir, Boolean() se transformă într - un boolean.
Tipuri de date JavaScript
În JavaScript există 5 tipuri diferite de date care pot conține valori:
- string
- number
- boolean
- object
- function
Exista 3 tipuri de obiecte:
- Object
- Date
- Array
Și 2 tipuri de date care nu pot conține valori:
- null
- undefined
typeof Operatorul
Puteți utiliza typeof operatorul pentru a găsi tipul de date al unei variabile JavaScript.
Exemplu
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 (if myCar is not declared)
typeof null
// Returns object
Încearcă - l singur » Vă rugăm să respectați:
- Tipul de date NaN este numărul
- Tipul de date al unei array este obiect
- Tipul de date al unei date este obiect
- Tipul de date de null este obiect
- Tipul de date al unei undefined variabile este nedefinit
Nu puteți utiliza typeof pentru a determina dacă un obiect JavaScript este o matrice (or a date) .
Datele Tipul de typeof
typeof Operatorul nu este o variabilă. Este un operator. Operatorii ( + - * / ) nu au nici un tip de date.
Or, typeof operatorul returnează întotdeauna un șir de caractere care conține tipul operandului.
constructor proprietate
constructor Proprietatea returnează funcția de constructor pentru toate variabilele JavaScript.
Exemplu
"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] }
Încearcă - l singur » Puteți verifica proprietatea constructorului pentru a afla dacă un obiect este o matrice (contains the word "Array" ) :
Exemplu
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Încearcă - l singur » Puteți verifica proprietatea constructorului pentru a afla dacă un obiect este o dată (contains the word "Date" ) :
Exemplu
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Încearcă - l singur » JavaScript Tip de conversie
Variabilele JavaScript pot fi convertite într-o nouă variabilă și un alt tip de date:
- Prin utilizarea unei funcții JavaScript
- Automat de la sine JavaScript
Conversia numerelor la siruri
Metoda globală String() poate converti numere la siruri de caractere.
Acesta poate fi utilizat pe orice tip de numere, literali, variabile sau expresii:
Exemplu
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
Încearcă - l singur » Metoda Numărul toString() face același lucru.
În capitolul Numărul Metode , veți găsi mai multe metode care pot fi utilizate pentru a converti numere la siruri de caractere:
Metodă | Descriere |
---|---|
toExponential() | Returnează un șir de caractere, cu un număr rotunjit și scris folosind notație exponențială. |
toFixed() | Returnează un șir de caractere, cu un număr rotunjit și în scris, cu un număr specificat de zecimale. |
toPrecision() | Returnează un șir de caractere, cu un număr scris cu o lungime specificată |
Conversia Booleans la șiruri
Metoda globală String() poate converti boolean de la siruri de caractere.
String(false) // returns "false"
String(true) // returns "true"
Metoda Boolean toString() face același lucru.
false.toString() // returns "false"
true.toString() // returns "true"
Conversia Date la șiruri
Metoda globală String() poate converti datele la șiruri.
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Datei Metoda toString() face același lucru.
Exemplu
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
În capitolul metode moderne , veți găsi mai multe metode care pot fi utilizate pentru a converti datele la siruri de caractere:
Metodă | Descriere |
---|---|
getDate() | Ia zi ca un număr (1-31) |
getDay() | Ia zi lucrătoare un număr (0-6) |
getFullYear() | Ia anul de patru cifre (yyyy) |
getHours() | Ia ora (0-23) |
getMilliseconds() | Ia milisecunde (0-999) |
getMinutes() | Ia minutele (0-59) |
getMonth() | Ia luna (0-11) |
getSeconds() | Ia secunde (0-59) |
getTime() | Ia timp (milliseconds since January 1, 1970) de (milliseconds since January 1, 1970) |
Conversia Strings la numere
Metoda globală Number() poate converti siruri de caractere la numere.
Siruri de caractere care conțin numere (like "3.14" ) converti la numere (like 3.14) .
Șirurile necompletate converti la 0.
Orice altceva se transformă în NaN (Not a number) este (Not a number) .
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
În capitolul Numărul Metode , veți găsi mai multe metode care pot fi utilizate pentru a converti siruri de caractere pentru numere:
Metodă | Descriere |
---|---|
parseFloat() | Analizează un șir de caractere și returnează un număr în virgulă mobilă |
parseInt() | Parses un șir de caractere și returnează un întreg |
Unar + Operatorul
Unar + Operatorul poate fi folosit pentru a converti o variabilă la un număr:
În cazul în care variabila nu poate fi convertit, acesta va deveni încă un număr, dar cu valoarea NaN (Not a number) este (Not a number) :
Conversia Booleans la numere
Metoda globală Number() poate converti , de asemenea , boolean de la numere.
Number(false) // returns 0
Number(true) // returns 1
Conversia la numere de Date
Metoda globală
d = new Date();
Number(d) // returns 1404568027739
Metoda dată getTime() face același lucru.
d = new Date();
d.getTime() // returns 1404568027739
Tipul de conversie automată
Când JavaScript încearcă să opereze pe un "wrong" tip de date, va încerca să transforme valoarea unui "right" de tip.
Rezultatul nu este întotdeauna ceea ce vă așteptați:
5 + null // returns 5
because null is converted to 0
"5" + null // returns "5null"
because null is converted to "null"
"5" + 2 // returns
52
because 2 is converted to "2"
"5" - 2 // returns 3
because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Încearcă - l singur » Automată Șir de conversie
JavaScript apelează automat variabilei toString() funcția atunci când încercați să "output" , un obiect sau o variabilă:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Numerele și boolean sunt, de asemenea, convertite, dar acest lucru nu este foarte vizibil:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
Tabelul JavaScript Tip de conversie
Acest tabel prezintă rezultatul convertirii valorilor JavaScript diferite la număr, String și Boolean:
Original Valoare | Convertit Number | Convertit la STRING | Convertit la boolean | Incearca-l |
---|---|---|---|---|
false | 0 | "false" | false | Incearca-l " |
true | 1 | "true" | true | Incearca-l " |
0 | 0 | "0" | false | Incearca-l " |
1 | 1 | "1" | true | Incearca-l " |
"0" | 0 | "0" | true | Incearca-l " |
"1" | 1 | "1" | true | Incearca-l " |
NaN | NaN | "NaN" | false | Incearca-l " |
Infinity | Infinity | "Infinity" | true | Incearca-l " |
-Infinity | -Infinity | "-Infinity" | true | Incearca-l " |
"" | 0 | "" | false | Incearca-l " |
"20" | 20 | "20" | true | Incearca-l " |
"twenty" | NaN | "twenty" | true | Incearca-l " |
[ ] | 0 | "" | true | Incearca-l " |
[20] | 20 | "20" | true | Incearca-l " |
[10,20] | NaN | "10,20" | true | Incearca-l " |
["twenty"] | NaN | "twenty" | true | Incearca-l " |
["ten","twenty"] | NaN | "ten,twenty" | true | Incearca-l " |
function() {} | NaN | " function() {}" | true | Incearca-l " |
{ } | NaN | "[object Object]" | true | Incearca-l " |
null | 0 | "null" | false | Incearca-l " |
undefined | NaN | "undefined" | false | Incearca-l " |
Valorile în ghilimele indică valori string.
Valorile roșii indică valori (some) programatori nu s - ar putea aștepta.