JavaScript의 Math.hypot() 함수는 여러 개의 숫자를 인수로 받아, 각 숫자의 제곱을 모두 더한 값의 제곱근을 반환합니다. 쉽게 말해 피타고라스 정리를 일반화한 함수로, 직각삼각형의 빗변 길이를 구하거나 다차원 공간에서 두 점 사이의 유클리드 거리를 계산할 때 유용하게 사용됩니다.
기본 문법
사용 문법은 다음과 같습니다.
Math.hypot(12, 58, 66);
인수는 두 개 이상일 수도 있고, 하나 또는 없을 수도 있습니다.
- 인수가 없으면 0을 반환합니다.
- 인수 중 하나라도 Infinity이면 결과는 항상 Infinity입니다.
- 숫자로 변환할 수 없는 값은 NaN으로 처리됩니다.
예제 코드
아래 예제는 세 개의 숫자에 대한 hypot 값을 계산하여 화면에 출력합니다.
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var result = Math.hypot(12, 58, 66);
document.write("hypot value: " + result);
</script>
</body>
</html>실행 결과
hypot value: 88.67919710958147
계산 과정 살펴보기
위 결과는 다음 수식으로 계산된 것입니다.
√(12² + 58² + 66²) = √(144 + 3364 + 4356) = √7864 ≈ 88.67919710958147
Math.hypot()의 장점
Math.sqrt(a*a + b*b)처럼 직접 계산하는 방법도 있지만, Math.hypot()을 사용하면 중간 계산 과정에서 오버플로우나 언더플로우가 발생할 가능성이 줄어들어 더 정확한 결과를 얻을 수 있습니다. 따라서 좌표 거리 계산, 벡터 크기 계산 등 수치 안정성이 중요한 작업에서는 Math.hypot() 사용을 권장합니다.