class Slave { // ... };
const slave = Slave();
Dans la question en considération, nous avons un petit extrait de code JavaScript :
class Slave { //... }
const slave = Slave();
La question est : "Ce code est-il valide ?" La réponse correcte est "Non". Pour expliquer pourquoi, nous devons d'abord comprendre ce que fait ce code en JavaScript.
En JavaScript, nous utilisons généralement le mot-clé new
pour créer une nouvelle instance (un nouvel objet) d'une classe. Par exemple, si nous avons une classe Slave
, nous pourrions créer une nouvelle instance de cette manière :
class Slave { //... }
const slave = new Slave();
Dans le code présenté dans la question, l'auteur a omis le mot-clé new
, comme ceci :
const slave = Slave();
C'est la raison pour laquelle le code n'est pas valide. Sans le new
, JavaScript ne sait pas que nous essayons de créer une nouvelle instance de la classe Slave
. Au lieu de cela, il pense que nous essayons d'appeler une fonction Slave
qui n'existe pas.
En JavaScript, il est fortement recommandé d'utiliser le mot-clé new
lorsque vous créez une nouvelle instance d'une classe. Cela clarifie votre intention de créer un nouvel objet et évite toute ambiguïté ou confusion.
Si vous oubliez le new
et que vous essayez d'appeler une classe comme une fonction, JavaScript vous donnera une erreur de type TypeError
.
De plus, nommez toujours vos classes avec une majuscule au début. Ceci est une convention de codage courante en JavaScript, et elle aide à distinguer les classes des fonctions et des variables.
En somme, le code correct serait :
class Slave { //... }
const slave = new Slave();
Cela crée une nouvelle instance de Slave
et l'assigne à la constante slave
. Ce code est valide et fonctionnera comme prévu en JavaScript.