Maison  >  Questions et réponses  >  le corps du texte

Pourquoi utiliser const dans une boucle for ne génère pas d'erreur

const todolist= [];
let todolisthtml = '';
     for(let i =0;i<todolist.length;i++){
          const todo = todolist[i];
          const html = <p>`${todo}`</p>;
          todolisthtml += html;
      }

Ici, chaque fois que nous parcourons la boucle, nous réaffectons la variable todo, ce qui devrait provoquer une erreur car nous l'avons déclarée en utilisant "const", mais cela fonctionne correctement

P粉244155277P粉244155277407 Il y a quelques jours459

répondre à tous(1)je répondrai

  • P粉277305212

    P粉2773052122023-09-09 13:35:23

    Ce n'est pas une tâche. Juste déclaration et initialisation.

    Si tu écris

    const todolist= [];
    let todolisthtml = '';
    const todo;
    for(let i =0;i<todolist.length;i++){
        todo = todolist[i];
        const html = <p>`${todo}`</p>;
        todolisthtml += html;
    }

    Ce serait une redistribution et illégale.

    Dans ce que vous écrivez, todohtml 在循环块末尾超出范围,然后是一个新的 todohtml est créé pour la prochaine itération.

    Comme l'a dit Jaromanda X, const 变量是块作用域的。还有let.

    répondre
    0
  • Annulerrépondre