Closures, Class et inputs (variable dynamique)
Bonjour à tous,
Je suis débutant en programmation, j'ai besoin d'un coup de pouce, malheureusement après de nombreuses de recherches, je ne trouve pas de réponses à ma question ou de piste à creuser.
Je pense ne pas avoir la bonne méthode ou alors ne pas avoir compris l'utilité des classes. Peut-être que je me complique trop la vie.
Mon projet d'apprentissage c'est de :
-> créer des utilisateurs par le biais de un ou de deux input text (nom et prénom) puis de les afficher et aussi d'ajouter un compteur score et un bouton d'incrémentation individuel à coté de leur nom.
J'ai penser à crée une classe comme ceci
Code:
1 2 3 4 5 6 7 8
| class personne {
constructor(nom, prenom,score){
this.nom = nom,
this.prenom = prenom
this.score = score
this.compteur = () => { fonction qui incrémente this.score}
}
} |
Pour le moment je n'est pas utiliser la création d'utilisateur par les inputs mais directement dans le fichier js
Je peux donc pouvoir crée de nombreux objets avec cette classe exemple :
Code:
1 2
| const john = new personne("john", "doe",0)
const lucky = new personne("lucky", "luc",0) |
Tout marche super bien, j'arrive a afficher, et incrémenter les scores (même à les sauvegarder en localstorage) à partir du moment ou c'est moi même qui créer en dur.
Maintenant imaginons qu'un utilisateur inscrit son nom et son prénom dans des inputs avec un bouton et un événement click lié a celui-ci, qui vas forcement lancer une fonction.
Comment puis-je créer dynamiquement d'autre objet avec ces données que je ne maîtrise pas ? J'aurai imaginer faire une variable par utilisateurs et c'est peut-etre mon erreur?
J'ai pensé a un tableau avec une boucle, mais cela ne résous pas mon problème de création de variables exemple :
Code:
1 2 3 4 5
| const liste= ["jean", "marc", "sophie","marie"]
for (let i = 0; i<liste.length; i++){
let liste[i] = 0 //Uncaught SyntaxError: Unexpected token '[' <-- vilaine erreur
} |
A mon avis, je m'y prends mal.
merci d'avance !!!! ça serait super de me débloquer.