function calculate(n1, operator, n2) {
let result = 0;
// TODO : n1과 n2를 operator에 따라 계산하는 함수를 만드세요.
// ex) 입력값이 n1 : '1', operator : '+', n2 : '2' 인 경우, 3이 리턴됩니다.
n1 = firstOperend.textContent;
n2 = secondOperend.textContent;
operator = Operator.textContent;
// 1. operator가 +일 때 n1과 n2를 더한다
// 2. operator가 -일 때 n1에서 n2를 뺀다
// 3. operator가 *일 때 n1과 n2를 곱한다
// 4. operator가 /일 때 n1과 n2를 나눈다
if(operator === "+") {
result = Number(n1) + Number(n2);
} else if(operator === "-") {
result = n1 - n2;
} else if(operator === "*") {
result = n1 * n2;
} else if(operator === '/') {
result = n1 / n2;
}
return String(result);
}
buttons.addEventListener('click', function (event) {
// 버튼을 눌렀을 때 작동하는 함수입니다.
const target = event.target; // 클릭된 HTML 엘리먼트의 정보가 저장되어 있습니다.
const action = target.classList[0]; // 클릭된 HTML 엘리먼트에 클레스 정보를 가져옵니다.
const buttonContent = target.textContent; // 클릭된 HTML 엘리먼트의 텍스트 정보를 가져옵니다.
// ! 위 코드(Line 19 - 21)는 수정하지 마세요.
if (target.matches('button')) {
// TODO : 계산기가 작동할 수 있도록 아래 코드를 수정하세요. 작성되어 있는 조건문과 console.log를 활용하시면 쉽게 문제를 풀 수 있습니다.
// 클릭된 HTML 엘리먼트가 button이면
if (action === 'number' && firstOperend.textContent === "0") { // 액션이 넘버이고 첫번째 숫자가 0일 때
firstOperend.textContent = buttonContent;
console.log(firstOperend);
// console.log('숫자 ' + buttonContent + ' 버튼');
} else if(action === 'number') { // 액션이 숫자이기만 할 때
secondOperend.textContent = buttonContent;
}
if (action === 'operator') { //액션에 연산자가 있을 때
Operator.textContent = buttonContent;
console.log('연산자 ' + buttonContent + ' 버튼');
}
if (action === 'clear') { // 액션이 클리어일 때
firstOperend.textContent = "0";
secondOperend.textContent = "0";
Operator.textContent = "+";
calculatedResult.textContent = "0";
console.log('초기화 버튼');
}
if (action === 'calculate') {
calculatedResult.textContent = calculate();
console.log('계산 버튼');
}
}
});
자바스크립트는 도대체 언제 익숙해지는걸까?
항상 느끼고 항상 찾아보고 그러고 머리에 안들어오고 또 이런 고민의 반복이다
ㅋㅋㅋㅋㅋ
나.. 잘하고 있는건가..?