Tässä opetusohjelmassa opit tyypin muunnoksista JavaScriptissä esimerkkien avulla.
Yhden tietotyypin muuntamista toiseen tietotyyppiin kutsutaan tyypin muunnokseksi. JavaScriptissä on kahden tyyppisiä muunnoksia.
- Epäsuora muuntaminen
- Selkeä muuntaminen
JavaScriptin implisiittinen muunnos
Tietyissä tilanteissa JavaScript muuntaa tietotyypin automaattisesti toiseen (oikeaan tyyppiin). Tätä kutsutaan implisiittiseksi muuntamiseksi.
Esimerkki 1: Implisiittinen muunnos merkkijonoksi
// numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"
Huomaa : Kun merkkijonoon lisätään numero, JavaScript muuntaa numeron merkkijonoksi ennen ketjutusta.
Esimerkki 2: Epäsuora muuntaminen numeroksi
// numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2
Esimerkki 3: Ei-numeeriset merkkijonotulokset NaN: ään
// non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN
Esimerkki 4: Implisiittinen looginen muunnos luvuksi
// if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4
Huomaa: JavaScript pitää 0: ta false
ja kaikkia lukuja, jotka eivät ole nollia true
. Ja jos true
se muunnetaan luvuksi, tulos on aina 1.
Esimerkki 5: Nolla muuntaminen numeroksi
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Esimerkki 6: määrittelemätön käytetään numerolla, looginen arvo tai nolla
// Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN
JavaScriptin eksplisiittinen muunnos
Voit myös muuntaa yhden tietotyypin toiseen tarpeidesi mukaan. Manuaalisesti tekemäsi tyypin muunnos kutsutaan nimenomaiseksi tyypin muunnokseksi.
JavaScriptissä nimenomaiset tyyppimuunnokset tehdään sisäänrakennetuilla menetelmillä.
Tässä on joitain yleisiä menetelmiä nimenomaiseen muuntamiseen.
1. Muunna luvuksi nimenomaisesti
Voit muuntaa numeeriset merkkijonot ja loogiset arvot luvuiksi Number()
. Esimerkiksi,
let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0
JavaScriptissä tyhjät merkkijonot ja null
arvot palauttavat 0 . Esimerkiksi,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Jos merkkijono on virheellinen numero, tulos on NaN
. Esimerkiksi,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Huomautus : Voit myös luoda numeroita kielien parseInt()
, parseFloat()
, unaari operaattori +
ja Math.floor()
. Esimerkiksi,
let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20
2. Muunna merkkijonoksi nimenomaisesti
Voit muuntaa muut tietotyypit merkkijonoiksi käyttämällä joko String()
tai toString()
. Esimerkiksi,
//number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"
Huomaa : String()
ottaa null
ja undefined
muuntaa ne merkkijonoksi. Kuitenkin toString()
antaa virheilmoituksennull are passed.
3. Muunna Boolen-muotoon nimenomaisesti
Voit muuntaa muut tietotyypit Totuusarvoiksi käyttämällä Boolean().
JavaScript, undefined
, null
, 0
, NaN
, ''
käännynnäisiä false
. Esimerkiksi,
let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false
Kaikki muut arvot antavat true
. Esimerkiksi,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
JavaScript-tyypin muuntotaulukko
Taulukko näyttää erilaisten arvojen muuntamisen merkkijonoksi, numeroksi ja loogiseksi JavaScript-muodossa.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
Opit objektien ja taulukoiden muuntamisesta muiksi tietotyypeiksi myöhemmistä opetusohjelmista.
Tutustu näihin esimerkkeihin saadaksesi lisätietoja:
- JavaScript päivämäärät numeroihin
- JavaScript päivämäärät jousille