본문 바로가기
javascript

textContent , innerText 차이

by 아촌 2022. 4. 9.

 

공통점

textContent와 innerText는 그자식 요소의 텍스트 콘텐츠를 반환하거나 대입할 수 있다.

 

차이점은

textContent innerText
엔터를 이용한 줄바꿈 포함 엔터를 이용한 줄바꿈 미포함
스페이스를 이용한 연속적인 공백 포함 스페이스를 이용한 연속적인 공백 미포함
모든 텍스트 노드를 반환 사용자가 볼 수 있는 텍스트 노드만을 반환
모든 노드 개체에 대해 정의 HTMLelement개체에 대해서만 정의

 

 

 

그렇다면 무엇을 쓰는게 좋은가?

 

 -innerText의 CSS 고려로 인해, innerText 값을 읽으면 최신 계산값을 반영하기 위해 리플로우가 발생합니다. (리플로우 계산은 비싸므로 가능하면 피해야 합니다)

 

-Internet Explorer 기준, innerText를 수정하면 요소의 모든 자식 노드를 제거하고, 모든 자손 텍스트 노드를 영구히 파괴합니다. 이로 인해, 해당 텍스트 노드를 이후에 다른 노드는 물론 같은 노드에 삽입하는 것도 불가능합니다.

 

 -textContent XSS 공격 (en-US)의 위험이 없습니다.

 

https://developer.mozilla.org/ko/docs/Web/API/Node/textContent

 

Node.textContent - Web API | MDN

Node 인터페이스의 textContent 속성은 노드와 그 자손의 텍스트 콘텐츠를 표현합니다.

developer.mozilla.org

 

 

 

 

 

'javascript' 카테고리의 다른 글

History api (pushState, replaceState)  (0) 2023.07.17
forEach , map 알아보기  (0) 2022.04.18
i++와 i+=1의 차이점?  (0) 2022.04.05
HTMLCollection vs NodeList  (0) 2022.04.01
프로미스(Promise)의 장점  (0) 2022.03.28