JavaScript-tyyppien muunnos
- Edellinen sivu JS typeof
- Seuraava sivu JS-hakemisto
Number()
Muunna lukuksi,String()
Muunna merkkijonoa,Boolean()
Muunna totuusarvo.
JavaScript tietotyyppi
JavaScriptissä on viisi tyyppiä, jotka voivat sisältää arvoja:
- Merkkijono (string)
- Luku (number)
- Totuusarvo (boolean)
- Objekti (object)
- Funktio (function)
On kolme objektityyppiä:
- Objekti (Object)
- Päivämäärä (Date)
- Taulukko (Array)
On kaksi tyyppiä, joissa ei voi olla arvoa:
- null
- undefined
typeof operaattoria
Voit käyttää typeof
Laskin operaattoreita määrittääkseen JavaScript-vektorin tyyppin.
esimerkki
typeof "Bill" // Palauttaa "string" typeof 3.14 // Palauttaa "number" typeof NaN // Palauttaa "number" typeof false // Returns "boolean" typeof [1,2,3,4] // Returns "object" typeof {name:'Bill', age:62} // Returns "object" typeof new Date() // Returns "object" typeof function () {} // Returns "function" typeof myCar // Returns "undefined" * typeof null // Returns "object"
请注意:
- NaN 的数据类型是数值
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型是对象
- 未定义变量的数据类型是 undefined
- 尚未赋值的变量的数据类型也是 undefined
您无法使用 typeof
去判断 JavaScript 对象是否是数组(或日期)。
typeof 的数据类型
typeof
运算符不是变量。它属于运算符。运算符(比如 +
-
*
/
)没有数据类型。
但是,typeof
始终会返回字符串(包含运算数的类型)。
constructor ominaisuus
constructor
属性返回所有 JavaScript 变量的构造器函数。
esimerkki
"Bill".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:'Bill', age:62}.constructor // Returns "function Object() { [native code] }" new Date().constructor // Palauttaa "function Date() { [native code] }" function () {}.constructor // Palauttaa "function Function(){ [native code] }"
Voit tarkistaa constructor
ominaisuus määrittääksesi, onko tietty objekti taulukko (s sisältää sanan "Array"):
esimerkki
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
Tai yksinkertaisemmin, voit tarkistaa, onko objekti taulukko toiminto:
esimerkki
function isArray(myArray) { return myArray.constructor === Array; }
Voit tarkistaa constructor
ominaisuus määrittääksesi, onko tietty objekti päivämäärä (s sisältää sanan "Date"):
esimerkki
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
Tai yksinkertaisemmin, voit tarkistaa, onko objekti päivämäärätoiminto:
esimerkki
function isDate(myDate) { return myDate.constructor === Date; }
JavaScript-tyyppien muunnos
JavaScript-muuttujat voidaan muuntaa uudeksi muuttujaksi ja toiseksi datatyypiksi:
- Käyttämällä JavaScript-funktiota
- Käyttämällä JavaScriptiä itseäänAutomaattisestiMuunnos
Muunna arvot merkkijonoksi
Yleinen metodi String()
Voii muuntaa luvut merkkijonoksi.
Tämä voidaan käyttää mihin tahansa numeron, tekstin, muuttujan tai lausekkeen tyyppiin:
esimerkki
String(x) // Palauttaa merkkijonon arvosta x String(123) // Palauttaa merkkijonon 123 String(100 + 23) // Palauttaa arvon merkkijonona
Numerometodit toString()
Samaa taustaa.
esimerkki
x.toString() (123).toString() (100 + 23).toString()
。NumerometoditTässä luvussa opit lisää menetelmistä, joita voidaan käyttää arvojen muuntamiseen merkkijonoksi:
menetelmä | kuvaus |
---|---|
toExponential() | Palauttaa merkkijonon, joka pyöristää luvun ja kirjoittaa sen eksponenttiamuodossa. |
toFixed() | Palauttaa merkkijonon, joka pyöristää luvun ja kirjoittaa sen määritetyllä desimaalimäärällä. |
toPrecision() | Palauttaa merkkijonon, joka kirjoittaa luvun määritetyllä pituudella. |
Muunna boolean merkkijonoksi
Yleinen metodi String()
Voit muuntaa booleanin merkkijonoksi.
String(false) // palauttaa "false" String(true) // palauttaa "true"
布尔方法 toString()
Samaa taustaa.
false.toString() // palauttaa "false" true.toString() // palauttaa "true"
Muunna päivämäärä merkkijonoksi
Yleinen metodi String()
Voit muuntaa päivämäärän merkkijonoksi.
String(Date())
Päivämäärämenetelmät toString()
Samaa taustaa.
esimerkki
Date().toString()
。PäivämäärämenetelmätTässä luvussa löydät lisää menetelmiä, joita voit käyttää muuntaaksesi päivämäärän merkkijonoksi:
menetelmä | kuvaus |
---|---|
getDate() | Saa päivämäärän arvon (1-31) |
getDay() | tai viikon arvolla (0-6) |
getFullYear() | Saa neljävuotisen vuoden (yyyy) |
getHours() | Saa tunnin (0-23) |
getMilliseconds() | Saa millisekuntien määrän (0-999) |
getMinutes() | Saa minuuttien määrän (0-59) |
getMonth() | Saa kuukauden (0-11) |
getSeconds() | Saa sekuntien määrän (0-59) |
getTime() | Saa aika (1970. vuoden 1. päivästä lähtien millisekunteina) |
Muunna merkkijono arvoksi
Yleinen metodi Number()
Voit muuntaa merkkijonon numeroksi.
Numerollaan varustetut merkkijonot(esim. "3.14")muunnetaan numeroksi(esim. 3.14).
tyhjä merkkijono muunnetaan 0:ksi.
Muut merkkijonot muunnetaan NaN
(Ei luku,ei numero)。
Number("3.14") // palauttaa 3.14 Number(" ") // palauttaa 0 Number("") // palauttaa 0 Number("99 88") // palauttaa NaN
。NumerometoditTässä luvussa löydät lisää menetelmiä, joita voit käyttää muuntaaksesi merkkijonon numeroksi:
menetelmä | kuvaus |
---|---|
parseFloat() | parsi merkkijonon ja palauttaa liukuluvun. |
parseInt() | parsi merkkijonon ja palauttaa kokonaisluvun. |
yksinkertainen + laskin
yksinkertainen +
LaskinVoit käyttää näitä muuttujia muuntaaksesi muuttujia numeroksi:
esimerkki
var y = "5"; // y on merkkijono var x = + y; // x on numero
Jos muunnos epäonnistuu, muuttuja säilyy edelleen luvuna, mutta arvo NaN
(Ei luku):
esimerkki
var y = "Bill"; // y on merkkijono var x = + y; // x on numero (NaN)
Muuntaa totuusarvon arvoksi
Yleinen metodi Number()
Voit myös muuntaa totuusarvon numeroksi.
Number(false) // Palauttaa 0 Number(true) // Palauttaa 1
Muuntaa päivämäärän numeroksi
Yleinen metodi Number()
Käytettävissä päivämäärän muuntamiseen numeroksi.
d = new Date(); Number(d)
Päivämäärämenetelmät getTime()
Samaa taustaa.
d = new Date(); d.getTime()
Automaattinen tyyppimuuntaminen
Jos JavaScript yrittää käsitellä tyyppivirheen, se yrittää muuntaa arvon "oikeaksi" tyypiksi.
Tulokset eivät aina ole odottamasi:
5 + null // Palauttaa 5 koska null muunnetaan 0:ksi "5" + null // Palauttaa "5null" koska null muunnetaan "null":ksi "5" + 2 // Palauttaa 52 koska 2 muunnetaan "2":ksi "5" - 2 // Palauttaa 3 koska "5" muunnetaan 5:ksi "5" * "2" // Palauttaa 10 koska "5" ja "2" muunnetaan 5:ksi ja 2:ksi
automaattinen merkkijonon muuntaminen
JavaScript kutsuu automaattisesti muuttujan toString()
Funktio, kun yrität "tulostaa" objektin tai muuttujan:
document.getElementById("demo").innerHTML = myVar; // Jos myVar = {name:"Fjohn"} // toString muuntaa "[object Object]" // Jos myVar = [1,2,3,4] // toString muuntaa "1,2,3,4" // Jos myVar = new Date() // toString muuntaa ""
Numerot ja totuusarvot muunnetaan, mutta ei niin selkeästi:
// Jos myVar = 123 // toString muuntaa "123" // Jos myVar = true // toString muuntaa "true" // Jos myVar = false // toString muuntaa "false"
JavaScript-tyyppimuunnostaulukko
Seuraavassa taulukossa luetellaan, miten eri JavaScript-arvot muunnetaan numeroksi, merkkijonoksi ja booleaniksi:
Alkuperäinen arvo | Muunnetaan numeroksi | Muunnetaan merkkijonoksi | Muunnetaan loogiseksi | Kokeile itse |
---|---|---|---|---|
false | 0 | "false" | false | Kokeile itse |
true | 1 | "true" | true | Kokeile itse |
0 | 0 | "0" | false | Kokeile itse |
1 | 1 | "1" | true | Kokeile itse |
"0" | 0 | "0" | true |
Kokeile itse |
"000" | 0 | "000" | true |
Kokeile itse |
"1" | 1 | "1" | true | Kokeile itse |
NaN | NaN | "NaN" | false | Kokeile itse |
Infinity | Infinity | "Infinity" | true | Kokeile itse |
-Infinity | -Infinity | "-Infinity" | true | Kokeile itse |
"" | 0 |
"" | false |
Kokeile itse |
"20" | 20 | "20" | true | Kokeile itse |
"kaksikymmentä" | NaN | "kaksikymmentä" | true | Kokeile itse |
[ ] | 0 |
"" | true | Kokeile itse |
[20] | 20 |
"20" | true | Kokeile itse |
[10,20] | NaN | "10,20" | true | Kokeile itse |
["kaksikymmentä"] | NaN | "kaksikymmentä" | true | Kokeile itse |
["kymmenen","kaksikymmentä"] | NaN | "kymmenen,kaksikymmentä" | true | Kokeile itse |
function(){} | NaN | "function(){}" | true | Kokeile itse |
{ } | NaN | "[object Object]" | true | Kokeile itse |
null | 0 |
"null" | false | Kokeile itse |
undefined | NaN | "undefined" | false | Kokeile itse |
Lapulaisissa arvot viittaavat merkkijonon arvoon.
Punainen arvoIndikaattori (tai jotkut) ohjelmoijat eivät ehkä halua arvo.
- Edellinen sivu JS typeof
- Seuraava sivu JS-hakemisto