18. return

fe.syhan·2023년 10월 31일

JS 기초

목록 보기
16/52
post-thumbnail

return


함수 안에서 return 이라는 문법이 사용 가능하다.

반환

function 함수() {
  return 123
}

함수(); // 123

함수() 실행 시, 123을 출력하게 됩니다.

함수의 종료

function 함수(){
  console.log('안녕');
  return 123
  console.log('반가워');
}

함수(); // 안녕

함수 안의 코드를 한줄한줄 실행해 주는데 return을 만나면 함수가 바로 종료되 return 밑의 코드는 실행이 되지 않습니다.

소수점


console.log(1.1 + 0.3); // 1.40000000001

1.4가 출력 될 것 같지만 예상과는 다른 답이 나온다.

컴퓨터는 2진법으로 설계되어 있다.

컴퓨터에세 10 + 20 을 연산 하라고 시키면 전부 2진법으로 바꿔

1010 + 10100 으로 연산하고 다시 10진법으로 바꿔 보여준다.

여기서 2진법의 문제가 있는데

1.1 과 같은 수는 2진법으로 바꾸면

1.00011001100110011001100 …

무한히 반복한다.

무한한 수를 저장할 수는 없기 때문에 컴퓨터는 적절히 끊고 반올림하여 저장한다.

그래서 소쉄 연산은 아주 작은 오차가 발생한다.

이런 문제를 해결하고 싶다면

  1. 덧셈하기 전에 10을 곱해 더하고 10으로 나누기
  2. 정확한 계산을 해주는 외부 라이브러리 쓰기
  3. 오차는 무시할 정도로 작으니 그냥 반올림하기

아주 정확한 계산이 필요한게 아니라면 대부분 반올림으로 해결하자.

소수점 반올림

console.log((1.1 + 0.3).toFixed(1));

숫자.toFixed(몇자리) 를 쓰면 된다.

주의점은 이렇게 하면 ‘문자’로 변환 되기 때문에 추후 버그의 원인이 된다.

‘숫자’를 문자로 변환

parseInt('123');
parseFloat('123');

숫자처럼 생긴 문자를 숫자로 변경해 준자.

0개의 댓글