재사용할 동작을 이름 있는 코드 블록으로 묶습니다.
함수는 매개변수로 입력을 받고 return으로 결과를 돌려줍니다. 한 가지 역할을 명확한 이름으로 만들면 테스트와 재사용이 쉬워집니다.
calculateTotal(4500, 3)을 호출하면 4500이 price에, 3이 quantity에 들어가고 두 값을 곱한 13500이 return으로 돌아와 total에 담깁니다. 출력할 때 toLocaleString이 숫자를 지역 형식의 문자열로 바꾸는데, 한국어 환경에서는 13,500처럼 쉼표가 들어가 화면에 함수 결과: 13,500원이 나타납니다.
인수를 하나만 넘겨 calculateTotal(4500)으로 호출해도 오류는 나지 않습니다. 받지 못한 quantity가 undefined가 되고, 4500과 undefined를 곱한 결과가 NaN이라 화면에는 함수 결과: NaN원이 찍힙니다. 계산 결과가 NaN으로 나오면 빠진 인수부터 의심해 볼 만합니다.
함수 안에서 외부 전역값을 많이 직접 바꾸면 입력과 결과를 예측하기 어렵습니다.
직접 바꿔보세요할인율을 세 번째 매개변수로 받아 최종 금액을 계산하세요.