만약 온라인으로 도넛츠를 주문하면, 결재금액을 출력해주는 JavaScript를 

작성한다고 하자.
결재금액을 출력해주는 함수는 아마 아래와 같을 것이다.
function orderDonuts () {
  const DONUTPRICE = 1000;
  var numChocoDonut = 0;
  var numGlazeDonut = 0;
  var numDonut = 0;
  var totalPrice = 0;
  if (document.getElementById(“chocodonuts”).value != undefined) {
    numChocoDonut = document.getElementById(“chocodonuts”).value;
  }
  if (document.getElementById(“glazeddonuts”).value != undefined) {
    numGlazedDonuts = document.getElementById(“glazeddonuts”).value;
  }
  numDonut = numChocoDonut + numGlazeDonut;
  totalPrice = numDonut * DONUTPRICE;
}
별 문제없어 보이는 위의 코드에는 오류가 숨어있다.
JavaScript에서는 기본적으로 Text들의 덧셈을 지원한다.
“do” + “nuts”의 결과로 “donuts”를 반환한다. 만약 사용자가 실수로
Text를 숫자로 형변환하지 않은 상태에서 덧셈을 시도한다면, 즉 “1” + “15”와 같은
연산을 수행한다면 친절한 JavaScript Engine은 위의 수식의 결과로 에러를 반환하는
것이 아니라 “115”를 반환한다.
따라서 위의 orderDonuts함수에서와 같이 element의 value를 넘겨받은 값으로 덧셈을


시도한다면 String끼리의 덧셈이 되어서 “10” + “12”의 결과로 “1012”와 같은 값을 반환할 수도 있다.
위와 같은 실수를 범하지 않기 위해서는 parseInt()나 parseFloat()함수를 이용하여
String을 int나 float으로 형변환을 한 뒤, 덧셈을 해야 한다.
parseInt()와 parseFloat함수의 인자로는 숫자만을 전달해야 한다. (Ex. $32.50과 같은 값은 안된다)