JavaScript toString Eksempel - Sådan konverteres et tal til en streng i JS og mere
Nogle gange vil du konvertere en datatype til en anden datatype uden at ændre værdierne manuelt.
For eksempel vil du måske konvertere et tal til en streng. JavaScript gør dette undertiden implicit.
Ligesom når du bruger operatoren dobbelt lig ( ==
), eller når du forsøger at gøre noget på en værdi med en datatype, der er uforenelig med operationen. Dette kaldes Type tvang.
Når det er sagt, kan du også konvertere datatyper eksplicit. Og jeg vil vise dig, hvordan du gør det i denne artikel.
Strengdatatypen er en meget almindelig datatype i JavaScript. For næsten alle andre datatyper skal du have en strengrepræsentation.
Ligesom du må have set noget lignende, "[object Object]"
når du bruger et objekt i stedet for en faktisk streng.
I denne artikel lærer vi, hvad toString
metoden er, og hvordan man konverterer et nummer (og et par andre datatyper) til en streng ved hjælp af denne metode.
den toString
metode
Som navnet antyder, bruges denne metode til at ændre data til en streng. Arrays, tal og booleans har hver denne metode, som konverterer deres data på forskellige måder. Lad os se på dem individuelt nu.
Sådan konverteres et tal til en streng
Den toString
metode findes på hvert nummer bogstavelig. Det konverterer tal til deres strengrepræsentationer. Sådan bruges det:
const num = 54; console.log(num.toString()) // "54"
Men der er mere ved dette. Den toString
fremgangsmåde til numre accepterer også en base
argument. Dette argument giver dig mulighed for at konvertere et tal til en anden base.
Den returnerede værdi er strengrepræsentationen for det nye nummer. Sådan bruges det:
const num = 54; const num2 = num.toString(2); console.log(num2); // "110110"
parseInt
er en anden JavaScript-metode, der derimod konverterer strenge til deres respektive antal repræsentationer. Sådan fungerer det:
const numInStr = "54"; const str = "Hello"; console.log(parseInt(numInStr)); // 54 console.log(parseInt(str)); // NaN
For en variabel, der ikke ligner et tal, parseInt
returneres Nan
som vist ovenfor.
Sådan konverteres en matrix til en streng i JavaScript
Arrays har også toString
metoden. Den returnerede værdi af denne metode er en sammenkædning af alle værdier i arrayet (og dybt indlejrede arrays i det) adskilt af kommaer. Sådan bruges det:
const arr = ["javascript", "toString", [1, "deep1", [3, 4, "array"]]]; console.log(arr.toString()); // "javascript,toString,1,deep1,3,4,array"
Sådan konverteres et objekt til en streng i JavaScript
Returneringsværdien af toString
et objekt er - ligesom du ofte er stødt på - "[object Object]"
. For eksempel:
const obj = {name: 'Object'}; const obj2 = {type: 'data', number: 100}; console.log(obj.toString()); // [object Object] console.log(obj2.toString()); // [object Object]
Standardkonvertering af objekter til streng er [object Object]
. Bemærk, at der er to object
der, og ikke kun en? Og den anden er aktiveret?
Der er flere repræsentationer for objekter som det følgende:
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]
Funktioner, Arrays, Objekter og endda Datoer og Regex er alle objekter. Og hver af dem har toString
metoden.
Når toString
der kaldes på dem, griber den uanset hvilken objektklasse værdien er, og udskriver den derefter som du ser ovenfor ("Funktion, Array, Objekt).
Vi bruger, call(variable)
fordi det toString
får objektklassen gennem this
ejendommen.
Konklusion
Den .toString
metode returnerer en streng konvertering af data, det bruges på. Dette er meget nyttigt i visse tilfælde, især number
s.
I denne artikel lærte vi, hvordan JavaScript- toString
metoden fungerer med number
s, array
s og object
s, og vi kiggede også lidt på parseInt
.