재무 기록 생성 및 저장
이 단계에서는 Alex 와 함께 배열 내 객체로 재무 기록을 저장하기 위한 구조를 만들 것입니다. 이 설정은 재무 추적기의 데이터 관리 시스템의 중추를 형성하여 재무 기록의 동적 업데이트 및 조작을 가능하게 합니다.
먼저, 재무 기록이 어떻게 생겼는지 정의해 보겠습니다. 각 기록은 설명, 금액 및 유형 (수입 또는 지출) 을 갖습니다. script.js를 열고 이러한 기록을 보관할 배열을 생성하는 것으로 시작합니다.
let records = [];
다음으로, 이 배열에 새 기록을 추가하는 함수를 만듭니다. 각 기록은 객체가 됩니다.
const addRecord = (description, amount, type) => {
records.push({ description, amount, type });
};
아직 제출을 기다리는 함수를 완성하지 않았기 때문에 페이지에서 아무것도 볼 수 없습니다.
~/project/script.js에서 "Add" 버튼을 클릭했을 때 상호 작용을 감지하기 위해 form.addEventListener("submit", (e) => {})를 정의합니다.
// Event listener for form submission to add a new record
form.addEventListener("submit", (e) => {
e.preventDefault();
const description = document.getElementById("description").value;
const amount = document.getElementById("amount").value;
const type = document.getElementById("type").value;
addRecord(description, amount, type);
});
- Event 인터페이스의
preventDefault() 메서드는 이벤트가 명시적으로 처리되지 않으면 기본 동작이 평소처럼 수행되지 않도록 사용자 에이전트에게 알립니다.
- HTMLDataElement 인터페이스의
value 속성은 HTML 속성 값을 반영하는 문자열을 반환합니다.
이 시점에서 addRecord 함수를 추가하고 console.log(records);를 추가하면 기록에 추가된 데이터가 기록에 기록되는 것을 볼 수 있습니다.
원장에 추가된 기록을 표시하려면 renderRecords 함수를 만들어야 하지만, 그 전에 템플릿 문자열에 대해 알아야 합니다.