오늘은 JavaScript를 활용해서 사용자 입력을 처리하고 화면에 출력하는 방식부터,
객체와 Number, 배열까지 조금 더 JavaScript다운 개념들을 학습했다.
1. DOM + 이벤트 처리 (입력값 받아서 출력하기)
JavaScript를 이용하면 사용자가 입력한 값을 가져와 화면에 출력할 수 있다.
이번에는 구매자, 상품명, 가격을 입력받고 버튼 클릭 시 화면에 출력하는 기능을 구현했다.

핵심은 다음과 같다.
- input의 value 값을 가져온다
- 다양한 방식으로 요소를 선택한다 (tag, id, name)
- innerHTML로 결과를 출력한다
- 이벤트를 통해 동작을 실행한다
특히 window.onload를 사용하면 페이지가 모두 로드된 이후에 이벤트를 연결할 수 있다.
2. 객체 (Object)
JavaScript에서 객체는
데이터와 기능을 함께 묶은 구조이다.
객체를 만드는 방법은 여러 가지가 있다.
1. 생성자 함수 이용


생성자 함수는 new 키워드와 함께 호출하여 객체를 생성할 수 있다.
this를 사용해 객체의 속성과 기능을 정의할 수 있고, 생성된 객체는 속성값 변경이나 메서드 호출도 가능하다.
2. 객체 리터럴 방식

객체 리터럴 방식은 {}를 사용해 객체를 직접 만드는 방법이다.
속성은 key: value 형태로 작성하며, 문자열, 숫자, 배열, 객체, 함수 등 다양한 형태의 데이터를 하나의 객체 안에 넣을 수 있다.
이번 코드에서는 person 객체 안에 이름, 나이 같은 기본 정보뿐 아니라 취미 배열, 추가 정보 객체, 함수까지 함께 넣어 객체가 여러 데이터를 묶어 관리하는 구조라는 점을 확인할 수 있었다.
또한 일반적인 키뿐 아니라 공백이 있는 "like dog" 같은 속성도 사용할 수 있다는 점도 볼 수 있었다.
3. class 를 이용한 객체 생성


JavaScript에서는 class 문법을 사용해 객체를 조금 더 구조적으로 만들 수 있다.
constructor를 이용하면 객체를 생성할 때 필요한 값을 전달받아 속성을 초기화할 수 있다.
이번 코드에서는 Test2 클래스의 생성자를 통해 이름과 나이를 전달받아 객체를 만들었고, 생성된 객체의 속성에 바로 접근할 수 있었다.
또한 생성자 함수를 이용해 만든 객체도각 인스턴스마다 독립적으로 값을 가질 수 있다는 점을 함께 확인했다.
예를 들어 test1.name만 변경해도 test2.name에는 영향을 주지 않는다.
특징 정리
- this를 사용하면 객체의 속성에 접근할 수 있다
- 함수도 객체의 속성으로 넣을 수 있다
- 동적으로 속성 추가 / 수정 / 삭제가 가능하다
3. Number 객체
JavaScript에서는 숫자도 객체처럼 다룰 수 있다.
Number 객체를 이용하면 숫자를 다양한 방식으로 처리할 수 있다.
1) 문자열 변환과 소수점 처리

- toString()은 숫자를 문자열로 변환한다.
- toFixed(2)는 소수점 둘째 자리까지 표현하고 문자열로 반환한다.
2) 숫자인지 확인하는 함수

- isNaN()은 숫자로 바꿀 수 없는 값이면 true를 반환한다.
- Number.isNaN()은 값이 실제 NaN일 때만 true를 반환한다.
- 그래서 Number.isNaN()이 더 엄격하고 정확한 검사라고 볼 수 있다.
중요한 포인트
- isNaN()은 문자열도 검사해서 헷갈릴 수 있음
- Number.isNaN()이 더 정확하다
4. 배열 (Array)
배열은 여러 데이터를 하나로 묶어서 관리하는 구조이다.
JavaScript 배열은
서로 다른 타입의 데이터도 함께 저장할 수 있다.
1) 배열 생성 방법
- new Array()
- [] (리터럴 방식)
배열은 new Array()로 만들 수도 있고, [] 리터럴 방식으로도 만들 수 있다.
또한 길이만 지정해서 빈 배열을 만들거나, 값을 바로 넣어서 생성할 수도 있다.
2) 주요 특징
- length로 길이 확인 가능
- 인덱스로 접근
- 자동으로 길이 증가

3) 주요 메소드
- indexOf() : 배열에서 원하는 요소의 위치를 찾는 메소드이다. 값이 있으면 인덱스를 반환하고, 없으면 -1을 반환한다.
- concat() : 두 개 이상의 배열을 합쳐 새로운 배열을 만든다. 기존 배열은 변경되지 않는다.
- join() : 배열의 요소들을 하나의 문자열로 연결한다. 구분 문자를 직접 지정할 수도 있다.
- sort() : 배열의 요소를 정렬한다. 문자열은 기본 정렬이 가능하지만, 숫자는 비교 함수를 함께 써야 원하는 순서로 정렬할 수 있다.
- push / pop : push()는 배열의 맨 뒤에 요소를 추가하고, pop()은 배열의 맨 뒤 요소를 제거한다.
- shift / unshift : shift()는 배열의 맨 앞 요소를 제거하고, unshift()는 배열의 맨 앞에 요소를 추가한다.
- slice : 배열의 일부를 잘라 새로운 배열로 반환한다. 원본 배열은 변경되지 않는다.
- splice : 배열의 특정 위치에서 요소를 삭제하거나 추가할 수 있다. 원본 배열이 직접 변경된다.
5. 정리 및 느낀점
이번 학습을 통해 JavaScript가 단순한 문법이 아니라 사용자 입력을 처리하고 화면을 제어하는 역할을 한다는 걸 이해할 수 있었다.
특히 DOM을 통해 값을 가져오고 이벤트로 동작을 실행하며 innerHTML로 화면을 변경하는 흐름이 자연스럽게 이어졌다.
또한 객체와 배열을 통해 데이터를 구조적으로 다루는 방법도 익힐 수 있었다.
메소드들이 많지만 직접 사용하면서 익숙해질 수 있었다.
'멀티캠퍼스' 카테고리의 다른 글
| [2026.04.06]TIL - 6일차 JavaScript(Location, 입력 요소 처리, DOM 탐색과 생성) (3) | 2026.04.06 |
|---|---|
| [2026.04.03]TIL - 5일차 JavaScript (String, Math, Date, Window 객체-실습) (2) | 2026.04.06 |
| [2026.04.01]TIL - 3일차 JavaScript (연산자, 제어문, DOM 기초) (3) | 2026.04.05 |
| [2026.03.31]TIL - 2일차 JavaScript 함수 & DOM & 간단 인터랙션 (3) | 2026.04.05 |
| [2026.03.30]TIL - 1일차 JavaScript 기초 정리 (2) | 2026.04.05 |