De lengte van een string vinden

TypeScript:
De lengte van een string vinden

Hoe te:

In TypeScript krijg je de lengte van een string met behulp van de .length eigenschap. Hier is een snel voorbeeld:

let begroeting: string = "Hallo, TypeScript!";
console.log(begroeting.length); // Uitvoer: 18

Deze code verklaart een string variabele genaamd begroeting en logt vervolgens de lengte ervan in de console.

Diepgaand

De .length eigenschap is een overblijfsel uit JavaScript, de voorouder van TypeScript. Het is een eenvoudige en universeel ondersteunde manier om de grootte van een string te krijgen.

Er zijn alternatieven, maar die compliceren de zaken meestal. Je zou bijvoorbeeld de string naar een array kunnen converteren en de elementen tellen:

let begroetingArray: string[] = Array.from(begroeting);
console.log(begroetingArray.length); // Uitvoer: 18

Maar waarom de lange weg rondgaan? De .length eigenschap is efficiënt omdat strings onder de motorkap als karakterarrays worden opgeslagen, dus de lengte-informatie is direct beschikbaar.

Stel nu dat je te maken hebt met strings uit verschillende talen. Je zou problemen kunnen ondervinden met speciale karakters. De basis .length aanpak telt UTF-16 code-eenheden, wat problematisch kan zijn voor karakters die twee code-eenheden nodig hebben, bekend als surrogaatparen. In zulke gevallen kan de .length eigenschap je niet het aantal werkelijke karakters geven, ook bekend als codepunten.

Hier is hoe je strings kunt behandelen met surrogaatparen:

function telCodePunten(str: string): number {
    return Array.from(str).length;
}

let fancyBegroeting: string = "Hallo, 🌍!";
console.log(telCodePunten(fancyBegroeting)); // Uitvoer: 9

Deze functie houdt rekening met de intriciteiten van stringencoding om ervoor te zorgen dat elk karakter, ongeacht of het een enkele of dubbele code-eenheid is, correct wordt geteld.

Zie Ook