Hallo Rolf,
rawText.trim('"') passt nicht?
rawText.trim('"') :-)
Ich bin ja nicht blöd und kann Leute beurteilen. rawText.trim('"') soll jetzt wohl ein Test sein...? Hat nicht geklappt... :-)
So sieht rawText z.B. aus: "aaaa". Immer in Anführungszeichen. Wobei auch mit "aa"aa" zu rechnen ist.
Wenn ich nur vorne hätte, also "aaaa, oder nur hinten, also aaaa", dann würde Deine Variante nichts tun, bliebe also unverändert. Aber: Ich hab immer eins am Anfang und eins am Ende, also ist es egal, ob Deine oder meine Variante.
In den 90-ern* hätte ich die Variante str.slice(1, -1) genommen, damit IE und NS nicht keuchen. Aber heute? Heute wäre str.slice im Vergleich zu RegEx evtl. 5 Nanosekunden schneller... :-)
Nur so als Denkanstoß für die Auswirkungen deiner Methode.
Danke für den Denkanstoß. Die Verhältnisse sind mir aber bekannt:
Ja, in jeder Iteration wird ein neues Objekt für foo erzeugt. Danach ist es nicht mehr referenziert, also GC‑fähig. Das ist korrekt. Beides wird nach dem Return freigegeben. Auch das ist korrekt.
Aber: Das ist extrem billig. Moderne JS‑Engines sind darauf optimiert, für sie sind Funktions-Objekte leichtgewichtige Strukturen: Die Funktion ist winzig! Ein Function‑Objekt besteht aus einem Pointer auf den Code, einem Pointer auf das Environment und ein paar Flags. Das ist lächerlich klein.
Und: Die Engine erkennt, dass der Funktionskörper identisch ist. Der Bytecode wird einmal erzeugt und in der Schleife wiederverwendet. Der GC wird das in Mikrosekunden wegräumen.
Und zusätzlich: Meine Schleife iteriert an dieser Codeposition im Mittel 6 mal. Ich nehme mal als äußerste Sicherheit 10 mal. Öfter kann sie nicht laufen, weil die Eingabe nur aus max. 10 Zeilen besteht. Selbst Wozniaks' und Jobs erstes Wischkastl hätte das mitgemacht und parallel dazu noch Doodle Jump gespielt, wenn es das zu der Zeit bereits gegeben hätte :-)
Gruß, fischlak
*PS: Ja, ich bin schon etwas älter. Ich war bereits 1998 hier im Forum. Damals unter meinem echten Vornamen. Und anfangs sehr zurückhaltend und wenig gepostet, weil ich keine Ahnung hatte. Seit ~ 2004 nicht mehr aktiv. Aber wenn ich eine Frage zu HTML, CSS oder JS hatte, hab ich immer wieder mal in die Doku oder später ins Wiki geschaut. Das waren stets meine erste Anlaufstellen.
Brauchte aber im Forum nie zu fragen, weil ich halt immer eine Antwort fand. Möchte nicht wissen, wieviele fragen, weil sie zu faul/bequem zum Lesen sind. Und ich schreibe immer noch "" anstatt „“ :-)
Aber eine Besserung hat sich eingestellt: Heute mach ich – und nicht − im Falle eines Gedankenstriches :-)
Hab mich beim Anmelden nicht gewundert, dass meine alten Zugangsdaten nicht mehr griffen. Aber hätte ja sein können… Trotzdem hätte ich dann meinen User-Namen geändert, heutzutage weiß man ja nie...
Hab mich eigentlich nicht nur wegen meiner Frage zu Folding und Editor wieder angemeldet, sondern weil mir nicht verborgen geblieben ist, dass die LLMs Euch die Show stehlen. Da dachte ich, einer mehr hier wird vielleich nicht verkehrt sein. Bin aber sonst eher posting-faul, nur im Moment hab ich etwas mehr Zeit.