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 toStringmetoden er, og hvordan man konverterer et nummer (og et par andre datatyper) til en streng ved hjælp af denne metode.

den toStringmetode

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 toStringmetode 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 toStringfremgangsmåde til numre accepterer også en baseargument. 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" 

parseInter 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, parseIntreturneres Nansom vist ovenfor.

Sådan konverteres en matrix til en streng i JavaScript

Arrays har også toStringmetoden. 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 toStringet 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 objectder, 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 toStringmetoden.

Når toStringder 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 toStringfår objektklassen gennem thisejendommen.

Konklusion

Den .toStringmetode returnerer en streng konvertering af data, det bruges på. Dette er meget nyttigt i visse tilfælde, især numbers.

I denne artikel lærte vi, hvordan JavaScript- toStringmetoden fungerer med numbers, arrays og objects, og vi kiggede også lidt på parseInt.