Ultimele tutoriale de dezvoltare web
 

JavaScript Tip de conversie


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.

Exemplu

x.toString()
(123).toString()
(100 + 23).toString()
Încearcă - l singur »

Î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:

Exemplu

var y = "5";      // y is a string
var x = + y;      // x is a number
Încearcă - l singur »

Î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) :

Exemplu

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Încearcă - l singur »

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ă Number() poate fi folosit pentru a converti datele la numere.

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
false0"false"false Incearca-l "
true1"true"true Incearca-l "
00"0"false Incearca-l "
11"1"true Incearca-l "
"0"0"0"true Incearca-l "
"1"1"1"true Incearca-l "
NaNNaN"NaN"false Incearca-l "
InfinityInfinity"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 "
null0"null"false Incearca-l "
undefinedNaN"undefined"false Incearca-l "

Valorile în ghilimele indică valori string.

Valorile roșii indică valori (some) programatori nu s - ar putea aștepta.