Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 알고리즘
- 프로그래머스
- 폰트
- 부동소수점
- JS
- railway #mysql #db배포
- CBR
- 회고
- 스택
- 개발자회고
- 크로스브라우징
- 해시
- TEXTBOX
- safari 버그
- matchmedia
- javascript #encodeuri #encodeuricomponent
- 변수명
- react-i18n
- VBR
- next-i18n
- fabricJS
- ime
- audio 객체
- 코드리뷰
- Safari
- fontfamily
- currenttime
- 다국어
- ffmpeg
Archives
- Today
- Total
Leo의 기술 블로그
matchMedia 메서드 본문
matchMedia는 무엇인가?
window 객체에서 지원하는 메서드(API)이다.
document 내부에 미디어 쿼리 상태를 javascript에 가져와서 사용이 가능한 함수라고 보면 된다.
const isMobileScreen = matchMedia('(min-width: 780px)').matches;
위에처럼 사용하면 javascript로 현재 document에 너비가 780px인지 판단해서 boolean값이 isMobileScreen 변수에 할당된다.
그럼 해당 변수를 사용해서 현재 화면 크기에 따라 분기처리가 가능해진다.
그럼 언제 matchMedia가 필요할까?
위와 같이 화면 너비에 따라 분기처리가 필요할때도 사용 가능하지만 사내에서는 터치 기기에대한 분기처리를 위해 사용했다.
export const IS_TOUCH_DEVICE = matchMedia('(pointer: coarse)').matches;
기존에 알던 개념들과 연관성
기존에는 media query는 브라우저의 환경이 바뀔때마다(화면 크기 조정, 가로모드 세로모드등) 조건을 판단해서 새로운 스타일 코드를 적용시켰다.
이와 같은 처리는 css에서만 반영이 되는줄 알았지만 javascript에서 특정 브라우저 환경 변화로 인한 로직 변화를 작성해야할 때도 matchMedia라는 API만을 이용해서 간단하게 처리가 가능해져 더 효율적으로 코드를 작성할 수 있을꺼 같다.
'Frontend(Web, App) > JavaScript' 카테고리의 다른 글
Enter 키 입력 시 한글이 두 번 제출되는 문제 해결하기 (0) | 2025.10.08 |
---|---|
부동 소수점 처리 (3) | 2025.07.12 |
encodeURIComponent, encodeURI 사용 이유 (0) | 2025.04.12 |