Frontend (290) 썸네일형 리스트형 [JavaScript] AND와 OR 연산 방식 자바스크립트에서 AND와 OR연산자는 무조건 불린 값을 리턴하는게 아닌 왼쪽 피연산자 값의 유형에 따라서 두 피연산자 중 하나를 리턴하는 방식으로 동작한다. [AND 연산자] 왼쪽 피연산자가 falsy값일 때 왼쪽 피연산자를, 왼쪽 피연산자가 truthy값일 때 오른쪽 피연산자를 리턴 [OR 연산자] 왼쪽 피연산자가 falsy 일 때 오른쪽 피연산자를, 왼쪽 피연산자가 truthy 일 때 왼쪽 피연산자를 리턴 console.log(null && undefined); // null console.log(0 || true); // true console.log('0' && NaN); // NaN console.log({} || 123); // {} [JavaScript] Truthy 값과 Falsy 값 [Falsy] Falsy 값에는 null, undefined, 0, NaN, ''(빈 문자열) 이 있으며 이 값을 제외한 나머지 값은 truthy 값이다. // falsy Boolean(false); Boolean(null); Boolean(undefined); Boolean(0); Boolean(NaN); Boolean(''); [Truthy] // truthy Boolean(true); Boolean('codeit'); Boolean(123); Boolean(-123); Boolean({}); Boolean([]); [JavaScript] input 태그 [input 태그] 이벤트 타입 설명 focusin 요소에 포커스가 되는 순간 focusout 요소에 포커스가 빠져나가는 순간 focus 요소에 포커스가 되는 순간 (버블링이 일어나지 않음) blur 요소에 포커스가 빠져나가는 순간 (버블링이 일어나지 않음) change 입력된 값이 바뀌는 순간 input 값이 입력되는 순간 select 입력 양식의 하나가 선택되는 순간 submit 폼을 전송하는 순간 [JavaScript] 마우스 이벤트 1. MouseEvent.button 마우스 이벤트 객체의 버튼 프로퍼티를 활용하면, 어떤 버튼을 눌러서 일어난 이벤트 인지 확인 가능 마우스 버튼을 눌렀을 때 일어난 이벤트에 대해서 어떤 버튼을 눌러서 일어난 이벤 값 내용 0 마우스 왼쪽 버튼 1 마우스 휠 2 마우스 오른쪽 버튼 3 X1 (일반적으로 브라우저 뒤로 가기 버튼) 4 X2 (일반적으로 브라우저 앞으로 가기 버튼) mouseenter, mouseleave, mouseover, mouseout, mousemove 처럼 마우스 이동과 관련된 이벤트는 값이 null 이나 undefined가 아니라 0임. 2.MouseEvent.type 이벤트 타입 설명 mousedown 마우스 버튼을 누르는 순간 mouseup 마우스 버튼을 눌렀다 떼는 순간 .. [JavaScript] 브라우저 기본동작 및 제한 브라우저 기본동작 : 브라우저에는 각 태그별, 상황별로 기본적으로 약속한 동작이 있음. 예 ) 마우스 오른쪽 클릭시 메뉴 창이 뜸 const link = document.querySelector('#link'); const checkbox = document.querySelector('#checkbox'); const input = document.querySelector('#input'); const text = document.querySelector('#text'); link.addEventListener('click', function(e) { e.preventDefault(); // 브라우저의 기본동작을 제한하는 메소드 alert('지금은 이동할 수 없습니다.'); }); input.addEve.. [JavaScript] 스타일 다루기 1. style 프로퍼티 활용하기 : element.style.styleName = 'value'; const today = document.querySelector('#today'); const tomorrow = document.querySelector('#tomorrow'); today.children[0].style.textDecoration = 'line-through'; today.children[0].style.backgroundColor = '#DDDDDD'; today.children[2].style.textDecoration = 'line-through'; today.children[2].style.backgroundColor = '#DDDDDD'; 프로퍼티에 styleName을 넣을 .. [JavaScript] HTML 속성 비표준인 HTML 속성도 다룰 수 있는 메소드 1. 속성에 접근하기 : element.getAttribute('속성') // HTML 속성 (HTML attribute) const tomorrow = document.querySelector('#tomorrow'); const item = tomorrow.firstElementChild; const link = item.firstElementChild; // elem.getAttribute('속성'): 속성에 접근하기 console.log(tomorrow.getAttribute('href')); console.log(item.getAttribute('class')); 2. 속성 추가하기 : element.setAttribute('속성', '값') // H.. [JavaScript] 요소 노드 추가 / 이동 / 삭제 1. 요소 노드 추가 const today = document.querySelector('#today'); today.innerHTML = '처음' + today.innerHTML; today.innerHTML = today.innerHTML + '마지막'; today.outerHTML = '이전' + today.outerHTML; const newToday = document.querySelector('#today'); newToday.outerHTML = newToday.outerHTML + '다음'; // 요소 노드 추가하기 const tomorrow = document.querySelector('#tomorrow'); // 1. 요소 노드 만들기: document.createElement('태그이.. 이전 1 ··· 32 33 34 35 36 37 다음