JavaScript-tyypin muunnokset (esimerkkejä)

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 falseja kaikkia lukuja, jotka eivät ole nollia true. Ja jos truese 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 nullarvot 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 nullja undefinedmuuntaa 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 true
0 "0" 0 false
"1" "1" 1 true
"0" "0" 0 true
"ten" "ten" NaN true
true "true" 1 true
false "false" 0 false
null "null" 0 false
undefined "undefined" NaN false
'' "" 0 false
' ' " " 0 true

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

Mielenkiintoisia artikkeleita...