JavaScript(48)
-
이벤트 리스너 예시 문제 풀이
문제:다음 HTML 코드와 JavaScript 코드를 보고, 입력 필드에 텍스트를 입력하고 "확인" 버튼을 클릭했을 때 어떤 일이 발생하는지 설명하고, 코드를 개선할 수 있는 부분을 찾아 설명하세요.HTML 코드: 확인 JavaScript 코드 (script.js):const input = document.getElementById('myInput');const button = document.getElementById('checkButton');const result = document.getElementById('result');button.onclick = function() { const inputValue = input.value; result.textContent = '입력된 값..
2025.03.21 -
마치 미어캣 같은 이벤트 리스너, 이벤트 핸들러event사건우리가 웹 페이지를 사용할 때 가장 흔하게 사용하는 것은 클릭이다. 스마트폰이라면 터치일 것이다.여기서 이벤트란 클릭같은 행위를 했을 때 발생하는 일을 말한다. 아래 뉴스섹션 처럼 화살표를 클릭하니까 페이지를 이동하거나 섹션 제목을 클릭하니까 섹션 페이지가 변경되거나 하는 것들이 모두 '이벤트'이다. 그리고 이러한 클릭 말고도 페이지를 스크롤한다거나 키보드를 입력한다거나(복사, 붙여넣기), 마우스를 드래그하거나 이미지 위에 올려놓거나 하는 행위도 모두 이벤트가 발생할 수 있다.즉, 이벤트란 특정 행동을 했을 때 발생하는 일, 작동하는 코드 등을 의미한다.물론 사용자가 직접적으로 상호작용을 하지 않을 경우에도 특정 조건을 만족하면 이벤트가 발생할 수도 있다. DOM 이벤트의 종류DOM 이벤트는..
2025.03.21 -
DOM 조작 - 생성, 제거, 변경 : createElement, removeChild, replaceChild
DOM은 HTML의 가계도이며 HTML의 요소, 요소의 속성, 주속 등을 노드라고 한다. 그렇다면 이런 노드들을 제어하는 방법은 무엇일까?바로 DOM 메서드를 사용하는 것이다. DOM 메서드는 다양한 종류가 있지만 그중 createElement, removeChild, replaceChild는 요소를 생성하고, 제거하고, 변경하는데 사용되는 기본적인 메서드이다. 1. createElement()역할: 새로운 HTML 요소를 생성한다.사용법: document.createElement(tagName)tagName: 생성할 HTML 요소의 태그 이름 (예: "div", "p", "span").let newDiv = document.createElement("div");newDiv.textContent = "새..
2025.03.21 -
함수와 메서드(method)란?
'메서드(method)'는 객체 지향 프로그래밍에서 객체(object)와 연결된 함수를 의미한다.즉, 특정 객체의 동작이나 기능을 수행하는 함수를 메서드라고 부른다. 📌 프로그래밍에서 함수란?프로그래밍에서 함수는 특정 작업을 수행하는 코드 블록이다. 이 개념은 원래 수학에서 유래했으며, 수학에서는 보통 다음과 같은 형태로 표현된다.f(x) = 2x + 1x가 1이라면 2*1+1 = 3 / x가 5라면 2*5+1 = 11f(x) = x + y이처럼 수학의 함수는 입력값(변수)에 따라 계산된 결과를 반환하는 계산식인데,프로그래밍의 함수도 이와 비슷하게 입력값(변수)을 받아 특정 연산을 수행하고 결과를 반환할 수 있다. 🔹 수학과 프로그래밍 함수의 차이점 하지만 수학에서 함수가 단순한 계산식이라면프로그..
2025.03.21 -
자바스크립트에서 DOM 사용시 알아둘 것
개념 공부를 하면서 의문이 들만한 요소들을 정리해 둔 것이다. DOM(Document Object Mode) : 문서 객체 모델웹페이지의 각 요소를 가계도 처럼 구성한 것 노드(node)란?DOM에서 노드(node)는 HTML 또는 XML 문서의 구성 요소를 나타내는 기본 단위이다.가계도로 비유하자면 할아버지, 아버지, 아들 등 가족 구성원 1명, 1명이 각자 1개의 노드라고 할 수 있다.마찬가지로 DOM에서는 각 HTML 요소, 텍스트, 주석 등이 각각 1개의 노드라고 할 수 있다. DOM은 실제로 시각적인 인터페이스가 보이는 것이 아니다.DOM은 각 요소를 추상적으로 구조화한 것이지 실제로 시각적인 형태로 보이게 만들어진 것은 아니다.예를 들어 3명의 사람이 있고 이 사람(노드)들이 각각 할아버지 -..
2025.03.20 -
DOM이란?
DOM(Document Object Model, 문서 객체 모델)은 HTML, XML 문서의 프로그래밍 인터페이스(interface)이다.간단히 말해, 웹 페이지의 구조와 내용을 계층적인 형태로 구성하고 자바스크립트와 같은 프로그래밍 언어로 접근하고 조작할 수 있도록 해주는 역할을 한다. 혹은 트리 형태로 구성한다고 말할 수도 있다. 간단하게 말하면 DOM은 각 요소간의 가계도와 같다.DOM과 가계도의 공통점계층적 구조가계도는 조상에서 자손으로 이어지는 계층적인 구조를 가진다.DOM도 부모 요소에서 자식 요소로 이어지는 계층적인 구조를 가진다.관계 표현가계도는 가족 구성원 간의 혈연관계, 혼인관계 등을 나타낸다.DOM은 HTML 요소 간의 포함 관계, 상속 관계 등을 나타낸다.노드와 연결가계도의 각 구성..
2025.03.20 -
윈도우 객체1. 윈도우 객체란?window 객체는 웹 브라우저의 창(window)을 제어하는 객체다.OS인 Microsoft Windows 이런게 아니고 브라우저의 window(창)이라는 의미이다. 자바스크립트의 모든 객체, 전역 함수, 전역 변수들은 자동으로 window 객체의 프로퍼티(속성)가 된다. 예를 들어, var myVar = 10; 이라고 선언하면 window.myVar 로 접근할 수 있다.function myFunction() { ... } 이라고 선언하면 window.myFunction 으로 호출할 수 있다. window 객체의 메서드는 전역 함수이며, window 객체의 프로퍼티는 전역 변수가 된다.문서 객체 모델(DOM)의 요소들도 모두 window 객체의 프로퍼티가 된다.자바스크립트의 win..
2025.03.20 -
람다 함수lambda function)와 화살표 함수(Arrow Function)
람다 함수란?람다 함수(lambda function)는 익명 함수(Anonymous Function)라고도 불리며, 이름 없이 간결하게 정의되는 함수를 말한다. 주로 짧은 함수를 만들거나, 다른 함수의 인자로 전달할 때 유용하게 사용된다.특징익명성 : 람다 함수는 이름이 없으므로, 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 때 유용하다.간결성 : 람다 함수는 일반 함수보다 코드를 간결하게 작성할 수 있다.스코프 : 람다 함수는 주변 스코프의 변수를 자유롭게 사용할 수 있다.예시// 일반 함수function add(x, y) { return x + y;}// 람다 함수 (화살표 함수)const addLambda = (x, y) => x + y;console.log(add(3, 5)); // 8c..
2025.03.20 -
메서드 체이닝 (Method Chaining)
메서드 체이닝 (Method Chaining)arr.slice().sort((a, b) => a - b)와 같이 메서드를 연결하여 사용하는 것을 "메서드 체이닝"이라고 한다.메서드 체이닝은 메서드가 객체(여기서는 배열)를 반환할 때 사용할 수 있다.slice() 메서드는 새 배열을 반환하므로, 반환된 배열에 바로 sort() 메서드를 호출할 수 있다.1. arr.slice():slice()는 JavaScript 배열의 내장 메서드다.이 메서드는 배열의 일부분을 추출하여 새로운 배열을 반환한다.인자를 생략하면 전체 배열의 복사본을 생성한다.2. sort((a, b) => a - b):sort()는 JavaScript 배열의 내장 메서드이다.이 메서드는 배열의 요소를 정렬하고, 정렬된 배열을 반환한다.sor..
2025.03.20 -
자바 스크립트 기초(9) - 반복문(loop, 루프)반복문(Loop)이란? 루프라는 단어는 타임루프물(시간 반복물) 같은데서 여러번 들어봤을 것이다. 루프는 말 그대로 반복을 뜻한다. 우리가 일상 생활을 원할하게 하려면 특정 행동을 반복해야하는 경우가 있다. 잠을 자거나 밥을 먹는 등의 필수불가결한 행위같은 것들 말이다. 프로그래밍도 마찬가지로 프로그래밍 구동(일상 생활)을 원활하게 하기 위해서 반복되는 코드(수면, 식사)들이 존재한다. 그런데 그때마다 거의 동일한 코드를 매번 새로 적어 넣는 것은 코드의 가독성도 떨어지고 효율도 떨어질 것이다.때문에 지속적으로 반복이 필요한 코드를 매번 다시 적는 대신에 하나의 코드 블록을 정해진 횟수만큼 반복하게 하는 방식을 사용하는 것이 바로 반복문이다.반복문을 사용하는 이유예를 들어 1 + 1이라는 행동을 반복해서..
2025.03.20