JavaScripti toStringi näide - kuidas teisendada arv stringiks JS-is ja mujal

Mõnikord soovite teisendada ühe andmetüübi teiseks andmetüübiks ilma väärtusi käsitsi muutmata.

Näiteks võiksite teisendada numbri stringiks. JavaScript teeb seda mõnikord kaudselt.

Nagu siis, kui kasutate operaatorit double equals ( ==) või kui proovite väärtusega midagi teha andmetüübiga, mis pole operatsiooniga ühilduv. Seda nimetatakse tüübi sunniks.

See tähendab, et saate ka andmetüüpe selgesõnaliselt teisendada. Ja ma näitan teile, kuidas seda teha selles artiklis.

Stringi andmetüüp on JavaScripti väga levinud andmetüüp. Peaaegu iga teise andmetüübi puhul peab teil olema stringi esitus.

Nii nagu te olete kindlasti näinud midagi sarnast, "[object Object]"kui kasutate objekti tegeliku stringi asemel.

Selles artiklis õpime, mis on toStringmeetod ja kuidas selle meetodi abil arv (ja veel mõned andmetüübid) stringiks teisendada.

toStringmeetod

Nagu nimigi ütleb, kasutatakse seda meetodit andmete stringiks muutmiseks. Massiividel, numbritel ja booleanidel on mõlemal selline meetod, mis teisendab nende andmeid mitmel viisil. Vaatame neid nüüd eraldi.

Kuidas teisendada number stringiks

toStringMeetod on olemas igal arvu sõnasõnaline. See teisendab numbrid nende stringide esitusteks. Seda kasutatakse järgmiselt:

const num = 54; console.log(num.toString()) // "54" 

Kuid siin on veel midagi. toStringMeetod numbrid ka aktsepteerib baseargument. See argument võimaldab teil teisendada numbri teiseks baasiks.

Tagastatav väärtus on uue numbri stringide esitus. Selle kasutamine toimub järgmiselt.

const num = 54; const num2 = num.toString(2); console.log(num2); // "110110" 

parseInton veel üks JavaScripti meetod, mis seevastu teisendab stringid nende vastavateks numbriteks. See töötab nii:

const numInStr = "54"; const str = "Hello"; console.log(parseInt(numInStr)); // 54 console.log(parseInt(str)); // NaN 

Muutujaga, mis ei sarnane arvuga, parseInttagastatakse Nannagu eespool näidatud.

Massiivi teisendamine JavaScripti stringiks

Massiividel on ka toStringmeetod. Selle meetodi tagastatav väärtus on massiivi kõigi väärtuste liitmine (ja selles sügavalt sisestatud massiivid), eraldatuna komadega. Seda kasutatakse järgmiselt:

const arr = ["javascript", "toString", [1, "deep1", [3, 4, "array"]]]; console.log(arr.toString()); // "javascript,toString,1,deep1,3,4,array" 

Kuidas teisendada objekt JavaScripti stringiks

toStringObjekti tagastusväärtus on - just nagu te võite sageli kohanud - "[object Object]". Näiteks:

const obj = {name: 'Object'}; const obj2 = {type: 'data', number: 100}; console.log(obj.toString()); // [object Object] console.log(obj2.toString()); // [object Object] 

Objektide vaikekonversioon stringiks on [object Object]. Pange tähele, et seal on kaks objects ja mitte ainult üks? Ja teine ​​on suurtäht?

Objektide esitusviise on rohkem, näiteks järgmine:

function print() {}; const arr = []; const obj = {}; console.log( Object.prototype.toString.call(print), Object.prototype.toString.call(arr), Object.prototype.toString.call(obj) ) // [object Function] [object Array] [object Object] 

Funktsioonid, massiivid, objektid ja isegi kuupäevad ja regex on kõik objektid. Ja igaühel neist on toStringmeetod olemas.

Kui toStringneile helistatakse, haarab see mis tahes objekti klassi, mis on väärtus, ja prindib selle siis nagu ülal näete ("Funktsioon, Massiiv, Objekt").

Kasutame call(variable)sellepärast, et toStringobjekt saab objektiklassi thisatribuudi kaudu .

Järeldus

.toStringMeetod tagastab stringi konversiooni andmete seda kasutatakse. See on teatud juhtudel, eriti numbers. , Väga kasulik .

Selles artiklis õppisime, kuidas JavaScripti toStringmeetod töötab numbers, arrays ja objects, ning vaatasime ka veidi parseInt.