Math.abs() 메서드란?
Math.abs()는 JavaScript에서 숫자의 절댓값(absolute value)을 반환하는 내장 메서드입니다. 수학적으로 표현하면 다음과 같습니다.
|p| = { p if p > 0
0 if p = 0
-p if p < 0 }위 수학적 정의를 살펴보면, p가 양수일 때는 절댓값이 p 그대로 반환되고, p가 음수일 때는 -(p)가 반환됩니다. 예를 들어 p가 -5라면 절댓값은 -(-5), 즉 +5가 됩니다. 결국 Math.abs()는 입력된 숫자의 부호가 양수든 음수든 관계없이 항상 양수 또는 0을 반환한다는 것을 알 수 있습니다.
다음 예제에서는 1과 9의 차이에 대한 절댓값을 구합니다. 실제 계산 결과는 음수인 -8이지만, Math.abs() 덕분에 양수 8이 출력됩니다.
예제 1
<html>
<body>
<script>
function myDiff(a, b) {
return Math.abs(a - b);
}
document.write(myDiff(1, 9));
</script>
</body>
</html>
출력 결과
8
예제 2
다음 예제는 Math.abs() 메서드를 사용해 주어진 음수 값을 양수로 변환하여 반환합니다.
<html>
<body>
<p id="absolute"></p>
<script>
document.getElementById("absolute").innerHTML = Math.abs(-5.13);
</script>
</body>
</html>
출력 결과
5.13
Math.abs() 사용 시 알아두면 좋은 특징
- 숫자가 아닌 값을 전달하면 NaN(Not a Number)을 반환합니다. 예:
Math.abs("abc")→ NaN - 문자열 형태의 숫자는 자동으로 형변환되어 처리됩니다. 예:
Math.abs("-7")→ 7 null이나 빈 문자열("")은 0으로 간주되어 0을 반환합니다.- 매개변수를 전달하지 않으면 NaN을 반환합니다.
이처럼 Math.abs()는 두 값의 차이를 비교하거나 거리 계산, 오차 범위 검증 등 부호와 무관하게 크기만 필요한 상황에서 매우 유용하게 활용됩니다.