zaterdag 21 juli 2012

JavaScript voor mensen, hobbits en elven - Deel 15: Tekenreeksen begrijpen


De weg naar Mordor

“Tekst is de tolk tussen mens en machine.”
                                                            - Sam Rain
Het String object kent de ijverige elf inmiddels wel een beetje. Tekenreeksen zijn onmisbaar in programma’s – ze zijn de ‘output’ die elvenmagie begrijpbaar maken voor hobbits. Een tekenreeks is naast een speciaal te gebruiken array ook handig om mensen-informatie op te slaan.
Wanneer we de volgende magie uitvoeren:
var tekst = “Orcs zijn lelijke monsters.”;
dan doet JavaScript precies wat we verwachten. Echter is deze spreuk een verkorte stijl voor het volgende:
var tekst = new String();
tekst = “Orcs zijn lelijke monsters.”;
De aanhalingstekens vertellen JavaScript dat het qua informatie om een tekenreeks gaat, zodat we niet perse een regel ‘extra’ magie hoeven te gebruiken. Ook tovert JavaScript andere objecten om, met de + operator in combinatie met aanhalingstekens:
var nummerEntekst = 1 + “appel”;             /*maakt een String ‘1 appel’*/
In oude tovenaarstalen had je als Hobbit nog een hoop extra ingrediënten moeten toevoegen (grappig genoeg heet dat proces ook nog eens ‘casting’ – of conversie, wat minder grappig). Ook het samenvoegen van tekenreeksen gaat gemakkelijk met de + operator:
var begroeting = “hallo,” + “Elven,” + “Mensen,” + “en Hobbits!”;
/*begroeting heeft nu ‘hallo Elven, Mensen en Hobbits!’ als waarde */
Tekenreeksen in JavaScript zijn niet alleen heel gemakkelijk om te gebruiken, maar hebben ook een hoop handigheidjes!
Het object String heeft ‘eigenschappen’ (properties) en klassefuncties (methoden). Stel we nemen de volgende String:
var titel = “To there and back again”;
Met de ingebouwde eigenschap ‘length’ (lengte) kunnen we het aantal karakters in de tekst opvragen – de spaties meegeteld.
var aantalKarakters = titel.length; /*23*/
De methode ‘substring’ kan een selectie van een tekenreeks ophalen. Met twee parameters, namelijk de ‘index’ van het eerste karakter en de ‘index’ van het laatste karakter, is het een fluitje van een Elf:
Var laatsteVijf = titel.substring(18,23); /*again’*/
Maar het is ook mogelijk om bijzondere bewerkingen uit te voeren op tekenreeksen:
var hoofdletters=titel.toUpperCase( ); /*TO THERE AND BACK AGAIN*/
var kleine letters = hoofdletters.toLowerCase( ); /*
to there and back again*/
var omgedraaid = titel.reverse( ); /*niaga kcab dna ereht oT*/
Een ijverige elf wilt wel eens een tekenreeks omzetten naar een ‘echte’ array:
var woorden = titel.split (“ “);
/*woorden bevat nu
woorden[0] = “To”;
woorden[1] = “there”;
woorden[2] = “and”;
etc*/
Of weer terug:
var zin = woorden.toString ( );
Om meer over deze en andere klasse-methoden te vinden, kun je een kijkje nemen in de documentatie van je JavaScript implementatie – maar de veelgebruikte komen in deze serie vanzelf voorbij!
Meer lezen over Programmeren? Klik hier voor de inhoudsopgave van alle artikelen!

©SamRain
JavaScript - 15

Geen opmerkingen:

Een reactie posten