현재 3 + 4 누르면 34로 출력되는 현상이 있습니다.
그래서 이걸 고쳐야 하는데요.
const onClickNumber = (event) => {
// operator는 사칙연산입니다.
if (operator) { // 사칙연산 시작
if (numTwo) { // 사칙연산 누르면 첫번째 숫자가 사라져야겠죠, 그래서 numTwo가 아닌 경우는 !numTwo입니다.
$result.value = ''; // 결과를 value(값)을 비웁니다 '';
};
numTwo = numTwo + event.target.textContent; // 두번째 숫자의 컨텍스트를 합하고
} else {
numOne = numOne + event.target.textContent; // 첫번째 숫자의 컨텍스트를 합합니다.
};
$result.value = $result.value + event.target.textContent; // 나머지 결과value(값)을 컨텍스트와 더합니다
};
이런 식으로 코드를 수정합니다. if문 안에 if문을 넣었는데요.
이걸 더 줄이는 방법이 있습니다.
위의 코드를 if중첩문을 더 줄여보면
const onClickNumber = (event) => {
if(!operator) { // 비어있다, operator(사칙연산)이 아닌 경우
numOne += event.target.textContent;
$result.value += event.target.textContent;
return;
};
if(numTwo) {// 비어있지 않다
$result.value = '';
};
numTwo += event.target.textContent;
$result.value += event.target.textContent;
};
이렇게 줄여질 수 있습니다.
if (조건 A) {
if (조건 B) {
if (조건 C) {
};
} else {
if (조건 D) {
if (조건 E) {
// 난 언제 실행?
} else {
// 나는 언제?
};
} else {
// 나는 언제?
};
};
};
이걸 줄여보세요. 숙제입니다.
function test() {
let result = '';
if (a) {
if (!b) {
result = 'c';
};
} else {
result = 'a';
};
result += 'b';
return result;
};
줄여보세요.
function test() {
let result = '';
if (a) {
if (!b) {
result = 'c';
};
} else {
result = 'a';
};
result += 'b';
return result;
};
function test() {
let result = '';
if (a) {
if (!b) {
result = 'c';
};
result += 'b';
return result;
} else {
result = 'a';
result += 'b';
return result;
};
};
function test() {
let result = '';
if (!a) {
result = 'a';
result += 'b';
return result;
if (!b) {
result = 'c';
};
result += 'b';
return result;
} else {
};
};
function test() {
let result = '';
if (!a) {
result = 'a';
result += 'b';
return result;
} else {
if (!b) {
result = 'c';
};
result += 'b';
return result;
};
};
function test() {
let result = '';
if (!a) {
result = 'a';
result += 'b';
return result;
}
if (!b) {
result = 'c';
};
result += 'b';
return result;
};
결과값입니다.
if문 안에 if문이 있던게 간결하게 줄었습니다.