Gli ultimi tutorial di sviluppo web
 

JavaScript tipo di conversione


Number() converte un numero, String() converte in una stringa, Boolean() converte un valore booleano.


Tipi di dati JavaScript

In JavaScript ci sono 5 diversi tipi di dati che possono contenere valori:

  • string
  • number
  • boolean
  • object
  • function

Ci sono 3 tipi di oggetti:

  • Object
  • Date
  • Array

E tipi di dati 2 che non possono contenere valori:

  • null
  • undefined

Il typeof Operatore

È possibile utilizzare l' typeof all'operatore di trovare il tipo di dati di una variabile JavaScript.

Esempio

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
Prova tu stesso "

Si prega di osservare:

  • Il tipo di dati di NaN è il numero
  • Il tipo di dati di una array è oggetto
  • Il tipo di dati di una date è oggetto
  • Il tipo di dati null è oggetto
  • Il tipo di dati di una undefined variabile non è definita

Non è possibile utilizzare typeof per determinare se un oggetto JavaScript è un array (o una data).


Il Tipo di dati di typeof

Il typeof operatore non è una variabile. È un operatore. Operatori ( + - * / ) non hanno alcun tipo di dati.

Ma, il typeof operatore restituisce sempre una stringa contenente il tipo dell'operando.


Il constructor proprietà

Il constructor proprietà restituisce la funzione di costruzione per tutte le variabili JavaScript.

Esempio

"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] }
Prova tu stesso "

È possibile controllare la proprietà constructor per scoprire se un oggetto è un array (contiene la parola "Array" ):

Esempio

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
Prova tu stesso "

È possibile controllare la proprietà constructor per scoprire se un oggetto è una data (contiene la parola "Date" ):

Esempio

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
Prova tu stesso "

JavaScript Tipo conversione

variabili JavaScript possono essere convertiti in una nuova variabile e un altro tipo di dati:

  • Con l'utilizzo di una funzione JavaScript
  • Automaticamente da JavaScript sé

Conversione dei numeri in stringhe

Il metodo globale String() in grado di convertire i numeri in stringhe.

Può essere utilizzato su qualsiasi tipo di numeri, letterali, variabili o espressioni:

Esempio

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
Prova tu stesso "

Il metodo numero toString() fa lo stesso.

Esempio

x.toString()
(123).toString()
(100 + 23).toString()
Prova tu stesso "

Nel capitolo Metodi numerici , troverete più metodi che possono essere utilizzati per convertire i numeri in stringhe:

metodo Descrizione
toExponential() Restituisce una stringa, con un numero arrotondato e scritto utilizzando la notazione esponenziale.
toFixed() Restituisce una stringa, con un numero arrotondato e scritto con un numero specificato di decimali.
toPrecision() Restituisce una stringa, con un numero scritto con una lunghezza specificata

Conversione booleani di stringhe

Il metodo globale String() in grado di convertire in stringhe booleani.

String(false)        // returns "false"
String(true)         // returns "true"

Il metodo booleano toString() fa lo stesso.

false.toString()     // returns "false"
true.toString()      // returns "true"

Conversione Date da stringhe

Il metodo globale String() in grado di convertire le date per le stringhe.

String(Date())      // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Il metodo Data toString() fa lo stesso.

Esempio

Date().toString()   // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Nel capitolo Metodi Data , troverete più metodi che possono essere utilizzati per convertire le date per le stringhe:

metodo Descrizione
getDate() Prendi il giorno come numero (1-31)
getDay() Prendi il giorno della settimana un numero (0-6)
getFullYear() Ottenere l'anno a quattro cifre (aaaa)
getHours() Ottenere l'ora (0-23)
getMilliseconds() Ottenere i millisecondi (0-999)
getMinutes() Ottenere i minuti (0-59)
getMonth() Prendi il mese (0-11)
getSeconds() I secondi (0-59)
getTime() Prendi il tempo (millisecondi dal 1 gennaio 1970)

Conversione stringhe in numeri

Il metodo globale Number() in grado di convertire stringhe in numeri.

Stringhe contenenti numeri (come "3.14" ) vengono convertiti in numeri (come 3.14).

Le stringhe vuote convertono a 0.

Tutto il resto si trasforma in NaN (Not a Number).

Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

Nel capitolo Metodi numerici , troverete più metodi che possono essere utilizzati per convertire stringhe in numeri:

metodo Descrizione
parseFloat() Analizza una stringa e restituisce un numero in virgola mobile
parseInt() Analizza una stringa e restituisce un intero

Il unario + Operator

Il unario + operatore può essere utilizzato per convertire una variabile di un numero:

Esempio

var y = "5";      // y is a string
var x = + y;      // x is a number
Prova tu stesso "

Se la variabile non può essere convertito, sarà ancora diventare un numero, ma con il valore NaN (non un numero):

Esempio

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Prova tu stesso "

Conversione booleani di Numbers

Il metodo globale Number() può anche convertire booleani ai numeri.

Number(false)     // returns 0
Number(true)      // returns 1

Conversione Date da Numbers

Il metodo globale Number () può essere utilizzata per convertire le date ai numeri.

d = new Date();
Number(d)          // returns 1404568027739

Il metodo data getTime() fa lo stesso.

d = new Date();
d.getTime()        // returns 1404568027739

Tipo conversione automatica

Quando JavaScript cerca di operare su un tipo di dati "sbagliato", cercherà di convertire il valore di un tipo di "diritto".

Il risultato non è sempre quello che ci si aspetta:

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
Prova tu stesso "

Conversione automatica String

JavaScript chiama automaticamente della variabile toString() funzione quando si tenta di "uscita" di un oggetto o di una variabile:

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"

Numeri e valori booleani vengono convertiti, ma questo non è molto visibile:

// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

Tabella JavaScript Tipo conversione

Questa tabella mostra il risultato della conversione di diversi valori JavaScript per numero, stringa, e booleano:

Originale
Valore
convertito
per numero
convertito
accordare
convertito
a booleano
Provalo
false0"false"false Provalo "
true1"true"true Provalo "
00"0"false Provalo "
11"1"true Provalo "
"0"0"0"true Provalo "
"1"1"1"true Provalo "
NaNNaN"NaN"false Provalo "
InfinityInfinity"Infinity"true Provalo "
-Infinity-Infinity"-Infinity"true Provalo "
""0""false Provalo "
"20"20"20"true Provalo "
"twenty"NaN"twenty"true Provalo "
[ ]0""true Provalo "
[20]20"20"true Provalo "
[10,20]NaN"10,20"true Provalo "
["twenty"]NaN"twenty"true Provalo "
["ten","twenty"]NaN"ten,twenty"true Provalo "
function(){}NaN"function(){}"true Provalo "
{ }NaN"[object Object]"true Provalo "
null0"null"false Provalo "
undefinedNaN"undefined"false Provalo "

I valori tra virgolette indicano valori di stringa.

I valori rossi indicano i valori (alcuni) i programmatori potrebbero non aspettare.