Din guide till "tråkig" kod i JavaScript
En av tjusningarna med JavaScript är att man lär sig nya grejer hela tiden. Jag har programmerat JavaScript i över 20 år och jag lär mig fortfarande nya saker.
Att debugga (dvs) hitta/lösa problem och lära sig nya saker är "roligt"...
Men denna guide är för de som vill få saker gjort dvs. de som vill skriva "tråkig" kod.
Fördelarna med "tråkig" kod är att den är lättare att förstå, vilket i sin tur leder till färre buggar.
Det jobbiga är dock att det ibland blir lite mer text att skriva, och att man måste vara mer tydlig.
Kolla om en variabel är null
Ett första exempel på tråkig kod är att undvika typ-sant / sant-ish (engelska: truthy/falsy) Till exempel när man använder Reguljära uttryck (engelska: Regular expressions, RegExp) så måste man kolla om värdet är null ...
Det tog ca 10 år för mig att lära mig RegExp, men jädrans vad roligt det är när man väl kan det. Om man vill skriva tråkig kod ska man dock undvika RegExp - just på grund av att det kan vara svårt att förstå. Men jag kommer inte på någon annan funktion/metod i JavaScript som kan returnera null... Helst ska man undvika att använda sig av null i sin egen kod, men ibland kan det bli mer komplicerat att undvika null än att använda null...
Notera att jag använder === null i kodexemplet. Jag ville kolla om värdet som returneras från metoden match är null (doh) ... Men om jag hade struntat i jämförelsen/likamedtecknen och använt så kallat sant- typ/ish (engelska: truthy/falsy) så hade koden förmodligen fungerat ändå! Men if-satsen skulle även godta andra värden... Se kod/tabellen nedan:
Låt säga att du har en "rolig" funktion som returnerar ett tal, men som också kan returnera null... (om man vill ha "tråkig" kod ska man försöka se till att en funktion endast kan returnera en typ av object) Om du sedan använder truthy/falsy dvs. if(foo) för att kolla efter null så skulle den if-satsen även matcha talet 0, vilket kan leda till problem.
for-loopar
En av de mest tråkiga sakerna i JavaScript är nog for-loopar... Med risk för att somna så får du här ett exempel på for-loop):