NULL
return과 소수점 다루기 (parseFloat, parseInt) 본문
return
함수를 반환해준다.
그리고 함수 종료의 뜻도 있다.
리턴을 만나면 함수가 종료되서 리턴 아래 코드들은 생략된다.
function 함수(){
return 123
console.log(456);
}
console.log(함수());
123을 출력해주고 함수가 종료되서 456은 출력되지 않는다.
함수는 숫자를 집어넣으면 규칙에 따라 다른 숫자가 나오는 변환기역할을 한다.
변환기 만들 때 return 문법이 유용하게 사용된다.
예시 - 부가세 계산기
console.log(60000 * 0.1);
console.log(50000 * 0.1);
console.log(80000 * 0.1);
예를 들어 6만원, 5만원, 8만원짜리 상품 3개의 부가세를 구해서 콘솔창에 출력하려면
이렇게 필요할 때 마다 0.1을 곱해줘도 되겠지만
함수는 숫자를 넣으면 다른 숫자가 나오는 변환기 역할이므로
function vat(a){
return a * 0.1
}
console.log(vat(60000));
console.log(vat(50000));
console.log(vat(80000));
함수로 구현하는게 좋다.
이렇게 부가세 구하고 싶을 때 마다 vat()안에 숫자만 넣으면 편리해진다.
소수연산 시 주의사항
console.log(1.1 + 0.3)
해당 코드는 1.4가 출력 될 것 같지만
1.40000000001 이 출력된다.
그 이유는 컴퓨터는 2진법으로 설계되어있다.
그래서 숫자도 2진법 숫자만 알아들을 수 있다.
컴퓨터에게 10 + 20 연산하라고 하면
전부 2진법으로 바꿔서 1010 + 10100 으로 연산하고 다시 10진법으로 바꿔서 보여준다.
무한한 숫자를 저장할 수 있는 저장장치는 없기 때문에
컴퓨터는 적절히 끊고 반올림해서 저장한다.
예시) 1.00011001100110011001101
그래서 소수점 연산은 아주 작은 오차가 발생한다.
해결법
1. 덧셈하기 전 10곱하고 덧셈 후 10으로 나눈다.
2. 외부라이브러리 사용
3. 오차는 무시할 정도로 작으니 반올림한다.
세세하게 정확한 계산이 필요한게 아니라면 대부분 그냥 반올림을 사용하면 된다.
소수점 반올림하는 법
console.log( (1.1 + 0.3).toFixed(1) );
숫자.toFixed(몇자리) 이것을 사용하면 된다.
모든 숫자 뒤에 붙일 수 있다.
주의점은 이렇게 하고 나면 '문자'로 변환한다.
'123'과 123은 다른 타입이라 주의해서 써야한다.
'숫자'를 숫자로 변환하고 싶으면
parseFloat('123')
parseInt('123')
해당코드를 사용하면 123을 그 자리에 남겨줍니다.
문자처럼생긴 숫자를 숫자로 변경해주는 유용한함수이다.
parseInt()는 정수로, parseFloat()는 실수로 변환해준다.
이 것을 사용하는 이유는
JS는 덧셈기호가 특이한 역할을 하는데
1 + 1 = 2 이지만
1 + '1' = '11' 이다.
+ 기호 사용 시 둘중 하나만 문자가 있어도 문자덧셈을 해줘서 이고,
문자덧셈은 두개의 문자를 이어붙여준다.
'Front-end > Vanilla JS' 카테고리의 다른 글
js, jquery 퍼센트 스크롤 (0) | 2022.05.01 |
---|---|
스크롤(scroll) 이벤트 사용법 (0) | 2022.04.14 |
정규식으로 이메일 형식 검증하는 법 (0) | 2022.04.12 |
콜백함수와 setTimeout, setInterval 사용법 (0) | 2022.04.12 |
** 거듭제곱 연산자 (0) | 2022.04.12 |