[Javascript] 계산기 사칙연산 함수 만들기

챔수·2023년 2월 23일
0

개발 공부

목록 보기
9/101

본격적인 계산기 만들기에 앞서, 계산기에서 필요한 사칙연산 함수를 만들었다.

function calculate(n1, operator, n2) {
	let result = 0;
  	if(operator === '+'){
    result = Number(n1) + Number(n2);
  } else if(operator === '-'){
    result = Number(n1) - Number(n2);
  } else if(operator === '*'){
    result = Number(n1) * Number(n2);
  } else if(operator === '/'){
    result = Number(n1) / Number(n2);
  }
  return String(result);
}

n1 에 들어온 수와 n2에 들어온 수를 operator를 통해 사칙연산이 되게하는 함수이다.
여기서 생각해야될 부분은 n1, n2를 Number타입으로 변경해 주는것이다.

function calculate(n1, operator, n2) {
	let result = 0;
  	if(operator === '+'){
    result = n1 + n2;
  }
  return String(result);
}

이렇게 Number타입의 변환 없이 함수를 실행 시키게 되면

calculate(1 + 2) = 12

숫자로 더해지는것이 아닌 문자열의 합으로 인식한다.
+하기를 제외한 [ / * - ] 에서는 연산이 잘 이루어지는것은 자동 형변환으로 자바스크립트에서 숫자만 [ / * - ] 를 가능하다고 생각해 자동으로 형변환을 시켜주기 때문이다.
장점이자 단점이 될 수있는 부분이기 때문에 원하는 타입값으로 변경해 사용하는게 오류를 줄일 수 있는 방법인것 같다.

profile
프론트앤드 공부중인 챔수입니다.

0개의 댓글