Code conventiesJavaScript¶
Naast de bestaande code conventies zijn er voor JavaScript nog een aantal extra regels die je moet volgen. Deze staan beschreven op mozilla.org.
Arrays¶
- Array Creatie
- Gebruik literals voor het maken van arrays, niet constructors.
- Item Toevoeging
- Gebruik
push()
om items toe te voegen, niet directe toewijzing.
Asynchrone Methoden¶
- Gebruik Promises en async/await voor het schrijven van asynchrone code.
- Geef de voorkeur aan async/await syntax wanneer beide technieken mogelijk zijn.
Commentaar¶
- Zorg ervoor dat commentaren de bedoeling van de code verduidelijken.
- Vermijd het herformuleren van de code in proza binnen commentaren.
- Gebruik enkele regel commentaren (
//
) in plaats van blokcommentaren (/* … */
). - Zorg ervoor dat commentaren beknopt en relevant zijn voor het codeblok waarnaar ze verwijzen.
- Gebruik commentaren om de uitvoer van logfuncties zoals
console.log()
aan te geven.
Functies¶
- Functienamen
- Gebruik camel case voor functienamen.
- Functiedeclaraties
- Geef de voorkeur aan functiedeclaraties boven functie-expressies.
- Gebruik pijlfuncties voor anonieme functies als een callback.
- Vermijd het gebruik van pijlfuncties om een functie aan een identifier toe te wijzen.
- Gebruik impliciete return met pijlfuncties wanneer mogelijk.
Loops en Conditionele Statements¶
- Loop Initialisatie
- Geef de voorkeur aan
for...of
offorEach()
voor het itereren door alle elementen van een collectie. - Definieer de initializer op de juiste manier met
const
oflet
. - Gebruik
.forEach()
in plaats vanfor (;;)
wanneer je zowel waarde als index moet benaderen. - Controle Statements
- Als een
if
statement eindigt met eenreturn
, voeg dan geenelse
statement toe. - Gebruik altijd accolades bij controle flow statements en loops.
- Switch Statements
- Voeg geen
break
statement toe na eenreturn
statement in een case. - Gebruik
default
als de laatste case en eindig het niet met eenbreak
statement. - Gebruik accolades om een scope te definiëren bij het declareren van een lokale variabele voor een case.
Foutafhandeling¶
- Gebruik
try...catch
blokken om fouten af te handelen.
Objecten¶
- Object Namen
- Gebruik PascalCase voor klassennamen en camelCase voor object eigenschap/methode namen.
- Object Creatie
- Gebruik literals voor het maken van algemene objecten.
- Object Klassen
- Gebruik ES class syntax voor objecten.
- Gebruik
extends
voor overerving. - Methoden
- Gebruik methodedefinitie syntax om methoden te definiëren.
- Object Eigenschappen
- Gebruik
Object.hasOwn()
in plaats vanObject.prototype.hasOwnProperty()
.
Operatoren¶
- Conditionele Operatoren
- Gebruik een conditionele (ternaire) operator in plaats van een
if...else
statement voor het opslaan van letterlijke waarden op basis van een conditie. - Strikte Gelijkheid Operator
- Geef de voorkeur aan strikte gelijkheid en ongelijkheid operatoren.
- Snelkoppelingen voor Boolean Tests
- Gebruik snelkoppelingen voor boolean tests.
Strings¶
- String Literals
- Gebruik enkele of dubbele aanhalingstekens voor string literals.
- Template Literals
- Gebruik template literals voor het invoegen van waarden in strings.
Variabelen¶
- Variabele Namen
- Gebruik korte, semantische en menselijk leesbare variabelenamen.
- Variabele Declaraties
- Gebruik
let
enconst
voor het declareren van variabelen en constanten, nietvar
. - Declareer één variabele per regel.
Type Coercion¶
- Vermijd impliciete type coercions.
Te Vermijden Web API’s¶
- Vermijd Browser Prefixen
- Gebruik geen prefixen voor functies die worden ondersteund door alle belangrijke browsers.
- Vermijd Verouderde API’s
- Gebruik moderne API’s in plaats van verouderde.
- Gebruik Veilige en Betrouwbare API’s
- Gebruik
Node.textContent
in plaats vanElement.innerHTML
voor het invoegen van tekstuele inhoud. - Vermijd het gebruik van de
alert()
functie.
Gebruik de Juiste Log Methode¶
- Gebruik
console.log()
voor het loggen van een bericht. - Gebruik
console.error()
voor het loggen van een fout.
Respecteer auteursrechten. Problemen of functies? E-mail ons op care@sider.ai. Link Reader gebruiken in elk tabblad? Haal het hier.