Instruktioner

  • p - Presentation
  • f - HelskĂ€rms presentation

Hur "string" fungerar i JS

# đŸ‘ïžâ€đŸ—šïž Om vad man behöver kunna om strings/strĂ€ngar?

  • En mycket vanlig datatype som anvĂ€nda i mĂ„nga olika sammanhang.
  • Det svenska namnet Ă€r strĂ€ng, men i daglit tal förekommer ofta den engelska varianten.
  • FörstĂ„lse uppyggnadne av och metoder implementer i strĂ€ngar.

❓ Vad Ă€r en strĂ€ng?

Vi ger hÀr en ungefÀrligt deinition och förklaring, se lÀnk för exakt definition.

  • Helt enkelt en vanligt test som vi kan anvĂ€nda i js.
  • Det Ă€r en följd av tecken som skapar en text.
  • Dessa tecken kan vara i UNICODE, vilket gör det enkelt för oss.
  • De kan ocksĂ„ vara "escape sequences".

📣 NĂ„gra kommentar om strĂ€ngar

StrÀngar beter sig i mycket som array:er men Àr inga arrayer.

  • De Ă€r "oförĂ€ndliga(immutable)"
  • Du kan alltsĂ„ alldrig Ă€ndra ett tecken genom t.ex: let a= "abba"; a2="b";
  • med mera.

StrÀngar anvÀnds mycket

Det finns vÀldigt mÄnga siituationer dÄ du behÀver en string.

  • Om du lĂ€ser in data ifrĂ„n en fil.
  • Om du ska skriva nĂ„got till en anvĂ€ndare.
  • Om du ska besvara ett anrop(request) med ett html dokument.

đŸ€„ïž StrĂ€ngar i alla sprĂ„k?

StÀngar finns i alla sprÄk.

  • I visa Ă€ldre sprĂ„k sĂ„ som C har inte stöd för UNICODE.
  • Visa enkla metoder för strĂ€ng hantering sakans i t.ex. C++.
  • I php blir mycket automatiskt typomvandlat till strĂ€ngar.

🔄 Hur konvertera nĂ„got till en strĂ€ng?

Det Àr ofta nödvÀndigt att typomvandla till en strÀng.

  • let one = String(1);
  • ""+1;
  • Number(1).toString();
  • Om du har ett objekt sĂ„ kan du implmentera en method toString för att fĂ„ automatisk omvandling.

🔬 Hur vet vi att en variabel Ă€r en strĂ€ng?

Det Àr faktiskt rÀtt sÄ lÀtt.

  • let b = "Bamse";
  • typeof "Bamse" === "string";
  • typeof "abba";

Escape sekvens

Escape sekvens Àr specialtecken som pÄverkar utskriften. Du kan anvÀnda sammat tecken som in terminalen.

  • "\n" betyder ny rad.
  • "\t" betyder ny tab.
  • AnvĂ€nd gĂ€rna ett biblotek fom "color" för att fĂ„ fĂ€rg pĂ„ dina utskrifter.

Sammanfoga text

Kan göras pÄ olika sÀtt och kan leda till problematiska bugar.

  • "a "+"b"
  • b.concat("sic!")
  • Kod: `${a} ${b}`

FĂ„ ett tecken

Fungerar som för en array

  • a0;

indexOf

För att hitta tecken.

  • "hej".indexOf("e"):
  • "hej annna".indexOf("anna");
  • "hej anna anna".indexOf("anna");
  • "hej anna anna".indexOf("q");

split

split anvÀnds för att dela uppe en string.

  • Du kan anvĂ€nda det till parsning.
  • "anna abba apa".split(" ");
  • "anna abba apa".split("a");

slice

Fungerar likande som för en array.

  • a.slice(1,3)

Fler metoder för hantera strÀngar?

StrÀnghantering

  • a0;

Exempel


a[0].toUpperCase() + a.slice(1,3)
function foo(text) {
result = []; 
for(let i of a) 
{ 
if(i !== "och") { 
result.push(i[0].toUpperCase() + i.slice(1));
} 
} 
result.join(" ");
}