본문 바로가기

JavaScript./Vanila JS4

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.