return 과 소수점 연산
function의 기능
긴코드 축약
파라메터 추가
return
function fun1() {
console.log("1");
return 123
console.log("2");
}
var variable = fun1();
console.log(variable);
// 결과를 예상해보자.
이렇게 함수에 return을 하면 return 오른쪽의 값이 남는다.
return 은 함수종료의 뜻도 가지고 있다.
console.log("2"); 는 실행 안됨

수학에서의 함수는 입력값에 따라 출력값을 만들어내는 블랙박스
프로그래밍에서의 함수또한 마찬가지다.
예를 들어 부가세를 구하는 함수를 만들어보자.
function vat(price){
return price * 0.1
}
console.log( vat(10000));
console.log( vat(22222));
//출력값
1000
2222.2000000000003
첫번째는 정상적으로 1000이 출력됐지만 두번째는 값이 이상하다.
그 이유는 컴퓨터는 2진법으로 계산하기 때문에 일부 값들은 오류가 발생한다.
💎해결방법
반올림 (toFixed() 메서드)
Math
외부라이브러리
function vat(price){
return (price * 0.1).toFixed(2);
}
console.log( vat(10000));
console.log( vat(22222));
//출력값
'1000.00'
'2222.20'
🔥 주의사항!
toFixed 를 사용하면 결과는 String (문자열)로 반환된다.
'숫자' > 숫자 로 변환하고 싶으면
parseInt('1000')
parseFloat('2222.20')
parseInt() 는 정수로
parseFloat() 는 실수로 변환해준다.
'2222.20' + 1 // 결과값은 2222.201
parseFloat('2222.20')+1 // 결과값은 2223.20
✨ 과제. 함수에 분과 초를 차례로 파라미터로 입력하면 ms 단위로 바꿔주는 함수를 만들어보자.
예시 console.log(msCalc(1,30)); 결과값은 90000
예시 console.log(msCalc(2,50)); 결과값은 170000
✨ 과제. 가격을 파라미터로 입력하면 15% 할인가를 반환해주는 함수를 만들어보자.
function msCalc(min,sec){
return min * 60 * 1000 + sec *1000
}
console.log( msCalc(2,50)); // 170000
function salePrice(price){
return price * 0.85
}
console.log(salePrice(19900)) //16915
// 원단위 절사는 어떻게 할까?
function salePrice(price){
return Math.floor( price * 0.85 /10) *10
}
console.log(salePrice(19900)) // 16910
Last updated