Conversione di tipo JavaScript

Number() conversione di valore numerico,String() conversione di stringa,Boolean() conversione di valore booleano.

Tipi di dati JavaScript

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

  • stringa (string)
  • numero (number)
  • booleano (boolean)
  • oggetto (object)
  • funzione (function)

ci sono tre tipi di oggetti:

  • oggetto (Object)
  • data (Date)
  • array (Array)

ci sono due tipi di dati che non possono contenere valori:

  • null
  • undefined

operatore typeof

Puoi usare typeof operatore per determinare il tipo di dati di una variabile JavaScript.

Esempio

typeof "Bill"                 // restituisce "string"
typeof 3.14                   // restituisce "number"
typeof NaN                    // restituisce "number"
typeof false                  // restituisce "boolean"
typeof [1,2,3,4]              // restituisce "object"
typeof {name:'Bill', age:62}  // restituisce "object"
typeof new Date()             // restituisce "object"
typeof function () {}         // restituisce "function"
typeof myCar                  // restituisce "undefined" *
typeof null                   // restituisce "object"

Provalo tu stesso

Attenzione:

  • Il tipo di dati di NaN è numerico
  • Il tipo di dati dell'array è oggetto
  • Il tipo di dati della data è oggetto
  • Il tipo di dati di null è oggetto
  • Il tipo di dati della variabile non definita è undefined
  • Il tipo di dati della variabile non assegnata è anche undefined

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

Il tipo di dati del operatore typeof

typeof L'operatore non è una variabile. È un operatore. Gli operatori (ad esempio + - * /)nessun tipo di dati.

Ma,typeof Sarà sempreRestituisce una stringa(include il tipo dell'operando)。

Proprietà constructor

constructor L'attributo restituisce il costruttore di tutte le variabili JavaScript.

Esempio

"Bill".constructor                 // restituisce "function String()  { [native code] }"
(3.14).constructor                 // restituisce "function Number()  { [native code] }"
false.constructor                  // restituisce "function Boolean() { [native code] }"
[1,2,3,4].constructor              // restituisce "function Array()   { [native code] }"
{name:'Bill', age:62}.constructor  // restituisce "function Object()  { [native code] }"
new Date().constructor             // Restituisce "function Date()    { [native code] }"
function () {}.constructor         // Restituisce "function Function(){ [native code] }"

Provalo tu stesso

Puoi verificare constructor Proprietà per determinare se un oggetto è un array (contiene la parola "Array"):

Esempio

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

Provalo tu stesso

O ancora più semplicemente, puoi verificare se l'oggetto è una funzione di array:

Esempio

function isArray(myArray) {
    return myArray.constructor === Array;

Provalo tu stesso

Puoi verificare constructor Proprietà per determinare se un oggetto è una data (contiene la parola "Date"):

Esempio

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

Provalo tu stesso

O ancora più semplicemente, puoi verificare se l'oggetto è una funzione di data:

Esempio

function isDate(myDate) {
    return myDate.constructor === Date;

Provalo tu stesso

Conversione di tipo JavaScript

Le variabili JavaScript possono essere convertite in nuove variabili e in un altro tipo di dati:

  • Utilizzando la funzione JavaScript
  • Attraverso JavaScript stessoAutomaticamenteConversione

Convertire numeri in stringhe

Metodo globale String() Può convertire numeri in stringhe.

Può essere utilizzato con qualsiasi tipo di numero, testo, variabile o espressione:

Esempio

String(x)         // Restituisce una stringa dal variabile numerica x
String(123)       // Restituisce una stringa dal testo numerico 123
String(100 + 23)  // Restituisce una stringa dal valore numerico dell'espressione

Provalo tu stesso

Metodi numerici toString() Analogamente.

Esempio

x.toString()
(123).toString()
(100 + 23).toString()

Provalo tu stesso

InMetodi numericiIn questa sezione, imparerai altri metodi utilizzabili per convertire numeri in stringhe:

Metodo Descrizione
toExponential() Restituisce una stringa, arrotondando il numero e scrivendolo con un sistema di numerazione esponenziale.
toFixed() Restituisce una stringa, arrotondando il numero e scrivendolo con una specifica numero di cifre decimali.
toPrecision() Restituisce una stringa, scrivendo il numero con la lunghezza specificata.

Convertire un booleano in stringa

Metodo globale String() Può convertire i booleani in stringhe.

String(false)        // Restituisce "false"
String(true)         // Restituisce "true"

Metodi booleani toString() Analogamente.

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

Convertire una data in stringa

Metodo globale String() Può convertire le date in stringhe.

String(Date())      

Metodi di data toString() Analogamente.

Esempio

Date().toString()   

InMetodi di dataIn questa sezione, troverai altri metodi disponibili per convertire le date in stringhe:

Metodo Descrizione
getDate() Ottieni il giorno calcolato come valore numerico (1-31)
getDay() Oppure la settimana calcolata come valore numerico (0-6)
getFullYear() Ottieni l'anno a quattro cifre (yyyy)
getHours() Ottieni l'ora (0-23)
getMilliseconds() Ottieni i millisecondi (0-999)
getMinutes() Ottieni i minuti (0-59)
getMonth() Ottieni il mese (0-11)
getSeconds() Ottieni i secondi (0-59)
getTime() Ottieni il tempo (millisecondi da 1 gennaio 1970)

Convertire una stringa in un valore numerico

Metodo globale Number() Può convertire le stringhe in numeri.

Le stringhe contenenti numeri (ad esempio "3.14") vengono convertite in numeri (ad esempio 3.14).

Le stringhe vuote vengono convertite in 0.

Altre stringhe vengono convertite in NaN(Non un numero,non un numero)。

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

InMetodi numericiIn questa sezione, troverai altri metodi disponibili per convertire le stringhe in numeri:

Metodo Descrizione
parseFloat() Analizza la stringa e restituisce un numero a virgola mobile.
parseInt() Analizza la stringa e restituisce un intero.

Operatore unario +

Unario + OperatorePuò essere utilizzato per convertire le variabili in numeri:

Esempio

var y = "5";      // y è una stringa
var x = + y;      // x è un numero

Provalo tu stesso

Se non è possibile convertire la variabile, rimarrà ancora un numero, ma il valore sarà NaN(Non un numero):

Esempio

var y = "Bill";   // y è una stringa
var x = + y;      // x è un numero (NaN)

Provalo tu stesso

Convertire i booleani in numeri

Metodo globale Number() Può anche convertire i booleani in numeri.

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

Convertire la data in numero

Metodo globale Number() Può essere utilizzato per convertire la data in numero.

d = new Date();
Number(d)          

Metodi di data getTime() Analogamente.

d = new Date();
d.getTime()        

Conversione automatica di tipo

Se JavaScript tenta di operare con un tipo di dati "errato", cerca di convertire il valore nel tipo "giusto".

I risultati non sono sempre quelli che ti aspetti:

5 + null    // restituisce 5         perché null viene convertito in 0
"5" + null  // restituisce "5null"   perché null viene convertito in "null"
"5" + 2     // restituisce 52        perché 2 viene convertito in "2"
"5" - 2     // restituisce 3         perché "5" viene convertito in 5
"5" * "2"   // restituisce 10        perché "5" e "2" vengono convertiti in 5 e 2

Provalo tu stesso

Conversione automatica in stringa

JavaScript chiama automaticamente la conversione in stringa della variabile toString() La funzione, quando si tenta di "stampare" un oggetto o una variabile:

document.getElementById("demo").innerHTML = myVar;
// Se myVar = {name:"Fjohn"}  // toString converte in "[object Object]"
// Se myVar = [1,2,3,4]       // toString converte in "1,2,3,4"
// Se myVar = new Date()      // toString converte in ""

I numeri e i booleani vengono anche convertiti, ma non è immediato:

// Se myVar = 123             // toString converte in "123"
// Se myVar = true            // toString converte in "true"
// Se myVar = false           // toString converte in "false"

Tabella di Conversione dei Tipi JavaScript

La tabella sottostante elenca i risultati della conversione di diversi valori JavaScript in numeri, stringhe e booleani:

Valore Originale Convertire in Numero Convertire in Stringa Convertire in Logico Prova
false 0 "false" false Prova
true 1 "true" true Prova
0 0 "0" false Prova
1 1 "1" true Prova
"0" 0 "0" true Prova
"000" 0 "000" true Prova
"1" 1 "1" true Prova
NaN NaN "NaN" false Prova
Infinity Infinity "Infinity" true Prova
-Infinity -Infinity "-Infinity" true Prova
"" 0 "" false Prova
"20" 20 "20" true Prova
"twenty" NaN "twenty" true Prova
[ ] 0 "" true Prova
[20] 20 "20" true Prova
[10,20] NaN "10,20" true Prova
["twenty"] NaN "twenty" true Prova
["ten","twenty"] NaN "ten,twenty" true Prova
function(){} NaN "function(){}" true Prova
{ } NaN "[object Object]" true Prova
null 0 "null" false Prova
undefined NaN "undefined" false Prova

Il valore tra virgolette indica un valore di stringa.

Valori RossoIndica valori che (alcuni) programmatori potrebbero non voler incontrare.