Heim  >  Fragen und Antworten  >  Hauptteil

Warum die Verwendung von const in einer for-Schleife keinen Fehler auslöst

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

Hier weisen wir jedes Mal, wenn wir die Schleife wiederholen, die Variable todo neu zu, was einen Fehler verursachen sollte, da wir es mit „const“ deklariert haben, aber es funktioniert reibungslos

P粉244155277P粉244155277407 Tage vor461

Antworte allen(1)Ich werde antworten

  • P粉277305212

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

    这不是任务。就是声明和初始化。

    如果你写了

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

    这将是重新分配,并且是非法的。

    在您编写的内容中,todohtml 在循环块末尾超出范围,然后是一个新的 todohtml 是为下一次迭代创建的。

    正如 Jaromanda X 所说,const 变量是块作用域的。还有let

    Antwort
    0
  • StornierenAntwort