JavaScript204 [JS]data 애트리뷰트(Attribute) 사용 방법 개요 HTML에서 애트리뷰트(Attribute)는 스타일 제어 또는 고유한 정보를 할당하거나 JavaScript에서 HTML 요소를 접근하기 위해 사용된다. 일반적으로 가장 잘 알려진 애트리뷰트는 id 및 class 애트리뷰트이며, 이 외에도 name, tab, role, tabindex, target, rel 등 다양한 애트리뷰트가 존재한다. 개발자는 위에서 언급한 애트리뷰트가 아닌 커스텀 애트리뷰트를 사용할 수 있는데, 아래 예제처럼 말도 안 되는 이름으로 애트리뷰트를 설정하는 것이 가능하고 JavaScript에서 커스텀 애트리뷰트를 접근하는 것도 가능하다. 버튼 하지만 대부분의 개발자들은 커스텀 애트리뷰트를 사용하는 것을 꺼려한다. 커스텀 애트리뷰트를 작성한 본인은 해당 애트리뷰트를 사용한 이유를 .. JavaScript/DOM 2022. 12. 15. [JS]이스케이프를 문자열로 처리하는 String.raw() 메서드 해당 포스팅은 String.raw() 메서드의 필요성과 사용 방법을 설명합니다. 개요 JavaScript에서 문자열을 설정하는 방법은 크게 두 가지로 분류된다. 첫 번째 방법은 작은따옴표(') 또는 큰 따옴표(")를 사용하는 것이고 두 번째 방법은 백틱(`)을 사용하는 것이다. // 작은 따옴표(') 또는 큰 따옴표(")를 사용하여 문자열 할당 const str1 = 'Hello'; const str2 = "Hello"; // 백틱(`)을 사용하여 문자열 할당 const str3 = `Hello`; 백틱을 사용하여 문자열을 할당하는 것을 템플릿 리터럴(Template literals)이라고 말하는데 줄 바꿈을 처리하기 위해 이스케이프를 작성하지 않아도 된다는 장점이 있다. const str1 = "Hi,.. JavaScript/문자열 2022. 12. 13. [JS]커스텀 이벤트 생성하기(CustomEvent 및 dispatchEvent) 해당 포스팅은 JavaScript에서 커스텀 이벤트를 생성할 수 있는 방법을 설명합니다. 개요 대부분의 개발자는 JavaScript에서 "click" 또는 "change" 이벤트를 많이 사용할 것이다. 아이디(id)와 패스워드(password)를 서버로 전송하기 위해 로그인 버튼을 클릭해야 하며, 네이버와 다음 또는 구글과 같은 웹 사이트의 검색 창에서 키워드를 변경할 때마다 자동 완성이 표시되어야 하기 때문이다. 하지만 경우에 따라 JavaScript에서 제공하는 기본 이벤트가 개발 요구 사항을 충족하지 않을 수 있다. 이러한 경우 개발자는 커스텀 이벤트를 생성하여 원하는 작업을 수행하도록 할 수 있다. 커스텀 이벤트 생성 방법 JavaScript에서 커스텀 이벤트를 생성하는 두 가지 방법이 존재한다... JavaScript/DOM 2022. 12. 11. [JS]이벤트 위임(Event Delegation)이란? 이벤트 위임(Event Delegation) JavaScript의 대부분 이벤트는 이벤트 흐름(Event Flow)의 이벤트 캡처링, 이벤트 버블링 단계를 거칩니다. 일반적으로 addEventListener() 메서드의 세 번째 매개변수로 true를 전달하지 않은 이상 이벤트 캡처링 단계는 수행되지 않고 이벤트 버블링 단계를 거치는데, 이벤트 버블링은 타겟에서 이벤트가 발생하면 타겟에서 위로 이벤트를 전파하는 것을 말합니다. 아래 예제에서 태그에서 click 이벤트가 발생하면, button → span → div로 이벤트가 전파됩니다. 버튼 const divNode = document.getElementById("div-content"); const spanNode = document.getElement.. JavaScript/DOM 2022. 12. 11. [JS]이미지가 로딩되었는지 체크하는 방법 이미지가 로딩되었는지 체크하는 방법 JavaScript에서 이미지를 가져와서 웹 페이지에 보여주는 방법은 간단합니다. 태그의 src 애트리뷰트에 이미지가 위치하는 url을 설정하면 됩니다. 예를 들어, 다음 메인 사이트의 로고 사진을 가져와서 보여주고 싶다고 가정합시다. 순서 1. 다음 메인 사이트로 이동한 다음 크롬 개발자 도구를 실행합니다. 순서 2. 요소 탭을 실행한 다음 좌측 상단의 아이콘을 클릭합니다. 순서 3. 로고 사진을 클릭합니다. 순서 4. 현재 소스를 복사한 다음 src 애트리뷰트에 설정합니다. JavaScript에서 이미지를 불러오는 방법은 간단하지만, 용량이 큰 이미지를 로드하는 경우 많은 시간이 걸릴 수 있으며 이미지를 DOM에 추가하는 과정에서 에러가 발생할 수 있습니다. 따라서.. JavaScript/Tip 2022. 12. 11. [JS]이벤트 핸들러와 이벤트 리스너 이벤트 핸들러와 이벤트 리스너 JavaScript에서 이벤트는 사용자와 웹 페이지간의 상호작용입니다. 예를 들어 티스토리에서 좋아요 버튼을 클릭하거나 네이버 검색 창에서 엔터 키를 누르는 행위를 이벤트가 동작했다고 말합니다. JavaScript에서 이벤트가 발생했을 때, 개발자가 구현한 기능을 수행하도록 함수를 연결하는 것을 이벤트 핸들러 또는 이벤트 리스너라고 말합니다. 이벤트 핸들러와 이벤트 리스너는 비슷하면서도 다른 개념이며 이번 포스팅은 JavaScript에서 이벤트와 함수를 연결하는 방법 그리고 이벤트 핸들러와 이벤트 리스너의 차이점을 설명합니다. 이벤트 핸들러 이벤트 핸들러는 쉽게 설명하자면 addEventListener() 메서드를 사용하지 않고 이벤트와 함수를 연결하는 것입니다. 버튼에서 .. JavaScript/DOM 2022. 12. 10. [JS]이벤트 흐름(Event Flow) 이해하기 이벤트 흐름(Event Flow) 이해하기 JavaScript에서 이벤트라는 개념은 간단하면서 복잡합니다. 특정 이벤트(클릭, 값 변경, 마우스 커서 이동 등)가 발생했을 때, 동작하는 이벤트 핸들러 함수를 구현하는 것은 간단하지만 이벤트가 발생하고 처리되는 과정은 생각보다 복잡하기 때문입니다. 이번 포스팅은 JavaScript에서 이벤트가 무엇이고 어떻게 동작하는지 설명합니다. 이벤트(Event) 이벤트는 웹 페이지를 사용하는 사용자에 의해 일어나는 사건입니다. 이벤트의 대표적인 예시로 버튼 클릭, 엔터 키 입력, 파일 드래그 앤 드롭이 존재합니다. 사용자가 로그인 화면에서 id와 password를 입력 후 엔터키를 입력하거나 로그인 버튼을 눌렀을 때, id와 password를 처리하는 기능은 개발자가.. JavaScript/DOM 2022. 12. 10. [JS]insertAdjacentHTML 메서드로 HTML 요소 추가하기 insertAdjacentHTML 메서드로 HTML 요소 추가하기 JavaScript에서 HTML 요소를 추가할 수 있는 방법으로 innerHTML 프로퍼티가 존재합니다. 하지만 innerHTML은 생각보다 빠르게 동작하지 않으며 많은 위험 요소를 가지고 있습니다. 이번 포스팅은 innerHTML의 위험성과 JavaScript에서 HTML 요소를 추가할 수 있는 또 다른 방법인 insertAdjacentHTML() 메서드를 설명합니다. innerHTML의 위험성 HTML 요소를 가져온 다음 innertHTML 프로퍼티의 값을 변경하면 HTML 요소의 텍스트를 변경하거나 하위 노드를 추가할 수 있습니다. 아래는 id가 "list"인 요소를 가져온 다음 innerHTML 프로퍼티를 사용하여 두 개의 요소를 .. JavaScript/DOM 2022. 12. 10. [JavaScript]두 객체를 합치는 방법 두 객체를 합치는 방법 이번 포스팅은 JavaScript에서 두 객체를 합치기 위해 알아야 할 모든 내용을 설명합니다. Object.assign() Object.assign() 메서드를 사용하여 두 개 이상의 객체를 합칠 수 있습니다. Object.assign() 메서드는 객체의 열거 가능한 프로퍼티를 복사 후 새로운 객체에 붙여 넣습니다. Object.assign(target, source1, source2, ..., sourceN); 매개변수 target: 두 개 이상의 객체가 합쳐진 객체입니다. source1, source2, ..., sourceN: 합쳐지는 객체들입니다. 반환 결과 합쳐진 객체를 반환합니다. const A = { name: 'John', age: 20, job: 'develope.. JavaScript/Tip 2022. 12. 9. [JavaScript]아스키코드 및 유니코드 변환 방법 아스키코드 및 유니코드 변환 방법 아스키코드와 유니코드는 다른 개념이지만 처음 128개(0~127)의 코드는 동일합니다. 이번 포스팅은 JavaScript에서 아스키코드 및 유니코드로 변환하는 방법을 소개합니다. charCodeAt() - 문자를 코드로 변환 문자를 아스키코드로 변환하려면 charCodeAt() 메서드를 사용합니다. charCodeAt() 메서드는 문자열에서 호출할 수 있으며 특정 위치의 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환합니다. str.charCodeAt(index); 매개변수 index: 문자열의 특정 위치(인덱스)이며 생략하는 경우 0을 기본값으로 사용합니다. 반환 결과 주어진 위치(인덱스)의 UTF-16 코드를 반환하며 0부터 65535 사이의 정수가.. JavaScript/Tip 2022. 12. 9. [JavaScript]style 프로퍼티 설정 및 가져오기 style 프로퍼티 설정 및 가져오기 이번 포스팅은 JavaScript에서 HTML 요소에 적용된 style 애트리뷰트를 설정 및 가져오는 방법을 소개합니다. 특정 css 프로퍼티 가져오기 태그는 세 가지 css 프로퍼티인 font-size, color, background-color를 가지고 있습니다. style 애트리뷰트의 css 프로퍼티의 이름은 하이픈(-)이 포함되어 있습니다. 따라서, JavaScript에서 css 프로퍼티를 가져오려면 대괄호 표기법을 사용하거나 JavaScript에서 지원하는 프로퍼티를 사용합니다. const inputNode = document.getElementById("input-text"); // JavaScript에서 지원하는 프로퍼티 console.log(inputN.. JavaScript/DOM 2022. 12. 8. [JavaScript]현재 페이지 새로고침하는 방법 현재 페이지 새로고침하는 방법 이번 포스팅은 JavaScript에서 현재 페이지를 새로고침할 수 있는 두 가지 방법을 소개합니다. location.reload() 첫 번째 방법으로 location 객체에서 제공하는 reload() 메서드를 사용하는 것입니다. location은 전역 객체인 window의 프로퍼티이므로 아래 두 가지 방법으로 reload() 메서드를 호출할 수 있습니다. location.reload(); window.location.reload(); 매개변수 존재하지 않습니다. 반환 결과 존재하지 않습니다. history.go() 두 번째 방법으로 history 객체에서 제공하는 go() 메서드를 사용하는 것입니다. history는 전역 객체인 window의 프로퍼티이므로 아래 두 가지 방.. JavaScript/Tip 2022. 12. 8. 이전 1 2 3 4 ··· 17 다음