Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 백준
- 에러
- react native 세팅
- 리액트 네이티브
- GIT
- fire base
- AWS Access Key
- Next.js
- s3 upload
- react native CLI
- react native 개발
- React
- react native picker
- AWS
- babel.config.js
- react native font
- react native
- Access Key 생성
- img upload
- aws bucket 정책
- firebase 라이브러리
- 문자열 대소문자
- 문자열 대소문자 구별
- error
- 리액트
- PongWorld
- Project
- 리액트 네이티브 에러
- 리엑트 네이티브 아이콘
- js
Archives
- Today
- Total
밝을희 클태
[ JS / JavaScript ] 좋은 DOM 검색 방법 본문
function updateHeaderText() {
const header = document.querySelector('h1');
header.textContent = '새로운 제목';
}
위의 js 코드는 updateHeaderText함수가 실행이 될 때마다 DOM tree에서 해당 요소를 찾는다. 그렇게 되면 매우 빈번하게 함수가 호출이 되고 성능에 영향이 있을 수 있다.
const header = document.querySelector('h1'); // DOM 요소 캐싱
function updateHeaderText() {
header.textContent = '새로운 제목'; // 캐싱된 요소 사용
}
사용자와 상호작용 되는 DOM이 아니라면 자주 사용되는 DOM은 전역으로 둬서 스크립트가 실행되는 시점에 한 번만 실행되게 하자
document.querySelector , document.getElement* 어떤 것을 사용할까?
요소를 찾을때
querySelector
를 사용은 것 보다,
getElement*
를 사용하는 것이 더 좋다.
querySelector는 getElement*보다 느릴 수 있으나, 그 차이는 대부분의 사용 사례에서 무시할 수 있을 정도다. 그러나 복잡한 선택자를 사용할 경우 성능에 영향을 줄 수 있다.
간단하고 빠른 ID, ClassName기반의 요소 접근이 필요하다면 getElement*를, 더 복잡한 선택자를 사용해야 한다면 querySelector를 사용하는 것이 적합하다.
'JavaScript' 카테고리의 다른 글
[ JavaScript / JS ] WebSocket 연결하고 실시간 채팅 구현하기 (0) | 2024.02.25 |
---|---|
[ JS / javaScript ] target 과 currentTarget의 차이 (0) | 2024.02.18 |
[JS / JavaScript] splice, slice 메소드 차이 (0) | 2024.01.16 |
[JS / javaScript] array, object method 시간복잡도 (0) | 2024.01.14 |
[javaScript / JS] 2차원 배열 회전 알고리즘 (0) | 2023.12.19 |