Во время упражнения по рефакторингу кода eval () был запущен для анализа строки шаблона и создания экземпляра класса. Рабочий код связан с ниже.
eval(`let ${tempid} = new Accordian(${"[j]"})`)
Почему эта строка нуждается в кавычках вокруг объекта, на который ссылается [j], для работы?
Мой другой вопрос касается экземпляров классов, и были ли они созданы?
Итак, переменная tempid должна быть строкой, извлеченной из nodeList, но ошибка, которую я получаю, похоже, предполагает иное, несмотря на то, что код запускается, что, на мой взгляд, не будет работать, если только фактически создал новый класс для каждого из объектов аккордеона, выделенных как уникальные из разметки.
Были ли созданы два новых экземпляра класса?
Я получаю следующие ошибки:
'Accordian' is defined but never used. (no-unused-vars) eslint
'use strict' is unnecessary inside of modules. (strict) eslint
eval can be harmful. (no-eval) eslint
https://codesandbox.io/embed/eager-morning-9s5ti?fontsize=14