Conversione di tipo JavaScript
- Pagina Precedente JS typeof
- Pagina Successiva Decomposizione JS
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"
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] }"
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;
O ancora più semplicemente, puoi verificare se l'oggetto è una funzione di array:
Esempio
function isArray(myArray) { return myArray.constructor === Array;
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;
O ancora più semplicemente, puoi verificare se l'oggetto è una funzione di data:
Esempio
function isDate(myDate) { return myDate.constructor === Date;
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
Metodi numerici toString()
Analogamente.
Esempio
x.toString() (123).toString() (100 + 23).toString()
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
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)
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
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.
- Pagina Precedente JS typeof
- Pagina Successiva Decomposizione JS