JS-tekenreeksen + vs concat-methode

Ik heb enige ervaring met Java en ik weet dat het samenvoegen van strings met de operator “+” een nieuw object oplevert.

Ik zou graag willen weten hoe ik dit op de beste manier in JS kan doen, wat is de beste manier om dit te doen?


Antwoord 1, autoriteit 100%

MDN heeft het volgende te zeggen over string.concat():

Het wordt sterk aanbevolen om de tekenreeksaaneenschakelingsoperatoren te gebruiken
(+, +=) in plaats van deze methode om prestatieredenen

Zie ook de link door @Bergi.


Antwoord 2, autoriteit 14%

In JS werkt de “+”-aaneenschakeling door een nieuw String-object te maken.

Bijvoorbeeld met…

var s = "Hello";

…we hebben één object s.

Volgende:

s = s + " World";

Nu is s een nieuw object.

2e methode:
String.prototype.concat


Antwoord 3, autoriteit 6%

Er was een tijd dat het toevoegen van strings aan een array en het finaliseren van de string met behulp van join de snelste/beste methode was. Tegenwoordig hebben browsers sterk geoptimaliseerde tekenreeksroutines en het wordt aanbevolen dat de methoden + en += de snelste/beste zijn


Antwoord 4, autoriteit 3%

  • We kunnen een stringvariabele niet samenvoegen tot een integer-variabele met de functie concat() omdat deze functie alleen van toepassing is op een string, niet op een integer. maar we kunnen een string samenvoegen tot een getal (geheel getal) met de operator +.
  • Zoals we weten, zijn functies behoorlijk langzamer dan operators. functies moeten waarden doorgeven aan de vooraf gedefinieerde functies en de resultaten van de functies moeten verzamelen. wat langzamer is dan het uitvoeren van bewerkingen met operators omdat operators bewerkingen in-line uitvoeren, maar functies die worden gebruikt om naar de juiste geheugenlocaties te springen … Dus, zoals vermeld in eerdere antwoorden, is het andere verschil duidelijk de snelheid van de bewerking.

Antwoord 5

Je kunt het proberen met deze code (zelfde geval)

chaine1 + chaine2; 

Ik raad je ook aan (ik geef hier de voorkeur aan) de string.concat-methode

LEAVE A REPLY

Please enter your comment!
Please enter your name here

five + 15 =

Other episodes