DocumentFragment

lee jae hwan·2022년 8월 12일

브라우저

목록 보기
15/39

DocumentFragment는 여러 노드드로 구성된 그룹을 감싸 다른 곳으로 전달하게 해주는 임시 컨테이너 역활을하며 DocumentFragment를 문서 어딘가에 삽입하면 DocumentFragment는 사라지고 DocumentFragment에 추가한 노드들만 남는다.

<ul id="ul"></ul>

<script>
function getListContent() {
  let fragment = new DocumentFragment();

  for(let i=1; i<=3; i++) {
    let li = document.createElement('li');
    li.append(i);
    fragment.append(li);
  }

  return fragment;
}

ul.append(getListContent()); // (*)
</script>

<ul id="ul"></ul>

<script>
function getListContent() {
  let result = [];

  for(let i=1; i<=3; i++) {
    let li = document.createElement('li');
    li.append(i);
    result.push(li);
  }

  return result;
}

ul.append(...getListContent()); // append 메서드와 ...(전개 문법)은 궁합이 잘 맞습니다.
</script>

배열을 사용하고 append에 스프레드문법을 사용하면 DocumentFragment와 같은 효과를 얻을 수 있지만 배열이 참조로 남는 단점은 있다.

0개의 댓글