Ответы пользователя по тегу JavaScript
  • Почему клонированный dom элемент меняется вместе с оригиналом?

    @rhajizada
    Любой Dom элемент является объектом в JavaScript и как любой объект в отличии от примитивного типа при клонировании лишь передает указатель клонируемого объекта в конечный объект. Поэтому при изменении клона изменяется и оригинал поэтому что они указывает на одно и тоже в памяти.
    let original = {
    item: 'a',
    index: 1
    }
    let clone = original;  // Указатель у clone и original одинаковый
    clone.item = 'b';
    console.log(clone); // { item: 'b', index: 1 }
    console.log(original);  // {item: 'b', index: 1}

    Вместо этого лучше в ручную копировать объект
    let clone = { ...original } // используем так называемый spread opeator

    теперь у нас клон с другим указателем чем оригинал
    Пример использования
    Ответ написан
    Комментировать