728x90 Web Frontend/Vanila JS5 랜딩 페이지 최적화는 어떤 것이 있을까? ( 디바운스, 인터셉션옵저버 활용하기 ) 반응형 랜딩 페이지에서 가장 렌더링 계산이 의외로 많이 들어가는 것은 무엇일까?디바이스별로 width와 height를 계산하는 것에 많이 들어간다. 리플로우, 리페인드라고 하는데 CSS렌더링 시 랜딩 페이지 최적화: 디바운스(Debounce)와 인터섹션 옵저버(Intersection Observer) 활용하기 랜딩 페이지는 사용자가 웹사이트에 처음 방문했을 때 접하게 되는 중요한 지점이다. 사용자가 랜딩 페이지에서 느끼는 첫인상이 곧 이탈률 감소와 전환율 증대로 이어지기 때문에, 랜딩 페이지의 최적화는 디지털 마케팅에서 필수적인 요소이다. 본 포스팅에서는 디바운스(Debounce)와 인터섹션 옵저버(Intersection Observer)를 활용하여 랜딩 페이지를 최적화하는 방법을 개념, 예제, 그리고.. 2024. 11. 20. JavaScript Math.trunc()메서드와 틸트(tilt) 연산자 숫자를 다루는 연산을 할 때, 소수점을 버릴 경우 Math.trunc()연산자를 사용한다. 비트 연산에서는 주로 쓰이는 틸트 연산자 중 이중 틸트 연산자의 경우 숫자의 소수점을 버리는 방법으로 알고리즘 문제를 풀이를 할 시 간단하게 사용할 수 있다.1️⃣ ~ (비트 반전 연산자)~ 는 비트 반전 연산자(bitwise NOT)라고 부른다. ~ 연산자는 숫자의 모든 비트를 반전시킨다.0은 1로, 1은 0으로 바뀐다.예를 들어, 8비트로 표현된 숫자 5가 있다고 하면, 이진수로는 00000101이다. ~5를 연산하면 각 비트가 반전되어 11111010이 된다. 11111010을 십진수로 표현하면 -6이다.~5 = -62️⃣ ~~ (이중 틸트 연산자)~는 비트 반전 연산자인 ~를 두 번 적용한 것이다.숫자의 소.. 2024. 8. 23. 한글 입력시 두번 이벤트 발생되는 현상 - onKeyPress, onKeyDown, onKeyup 🔍 문제 input 태그에 onKeyDown을 사용했을 때 영어는 이벤트가 한번 들어가는데 한글을 입력하면 두번 이벤트가 발생하는 현상이 있었다. 🔍 원인 KeyboardEvent.isComposing라는 객체가 입력된 값이 조합문자인지 아닌지 확인하는데 한글은 자음과 모음의 조합으로 한 음절이 만들어지기 때문에 조합문자로 인지되고 영어는 조합문자가 아닌 것으로 입력된다. 한글이 입력될때는 KeyboardEvent.isComposing가 true, 영어일 때 KeyboardEvent.isComposing가 false로 입력되면서 한글은 onKeydown이벤트가 들어갔을때 조합문자인 상태로 한번, 해지된 상태에서 또 한번으로 이벤트가 두번 들어가게된다. KeyboardEvent.isComposing가 fa.. 2024. 3. 17. 이벤트 리스너 | 렌더링시 display 속성 가져오지 못하는 문제 이벤트리스너 사용방법 적용시킬 HTML 속성을 가져온다. 적용시킬 이벤트함수를 만든다 가져온 HTML 속성을 담은 변수에 어떤 이벤트를 했을 때, 함수를 실행할 지 정한다. 클릭 const button = document.querySelector("button"); function handler (e) { console.log("클릭되었습니다"); } button.addEventListener("click", handler); 주의 처음 HTML요소 중 style프로퍼티의 경우 HTML 요소에 인라인 스타일로 직접 설정된 속성만을 반환합니다. 초기 설정이 ""로 세팅이 되어있다는 점을 기억합시다. 아래 코드 기준으로 생각했을 때 js에서 handler함수를 실행해도 바로 css가 적용되는게 아닙니다. 초.. 2024. 2. 28. 구조분해할당 구조분해할당 구조분해할당이란? 말 그대로 구조를 분해해서 할당한다. 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식 const obj = { a: 10, b: 20 } function sum ({a: hello, b:world}) { console.log(hello+ world); } sum(obj); // 30 구조분해할당으로 변수값 교환을 할 수 있다. 구조분해할당 없이 변수값 교환하는 방법 let a = 10; let b = 20; const temp = a; a = b; b = temp; console.log(a, b); // 20 10 구조분해할당으로 변수값 교환하기 let a = 123; let b = 456; [ a, b ] = [ .. 2024. 2. 28. 이전 1 다음 728x90