Math.hypot în JavaScript

Numere și matematică ES2015 (ES6)

Calculează rădăcina pătrată a sumei pătratelor: ipotenuza sau distanța dintre două puncte.

Sintaxă
Math.hypot(a, b, ...)

Ce face Math.hypot

Math.hypot(a, b) calculează √(a² + b²), adică ipotenuza unui triunghi dreptunghic (teorema lui Pitagora). Acceptă oricâte numere, deci merge și în 3 dimensiuni.

Este mai sigur decât Math.sqrt(a*a + b*b) pentru numere foarte mari sau foarte mici, unde pătratele ar depăși limitele.

Parametri

Parametru Descriere
a, b, ... Numerele (laturile, diferențele de coordonate).

Ce returnează

Un număr pozitiv.

Exemple

Exemplul 1: Ipotenuza și distanța dintre două puncte

console.log(Math.hypot(3, 4));

const a = { x: 1, y: 2 };
const b = { x: 7, y: 10 };
console.log(Math.hypot(b.x - a.x, b.y - a.y));

Rezultat

5
10

Exemplul 2: Diagonala unui ecran de 16:9

const latime = 16 * 2.2;
const inaltime = 9 * 2.2;

console.log(`${Math.hypot(latime, inaltime).toFixed(1)} inci`);

Rezultat

40.4 inci

Greșeli frecvente

  • Dai un tablou de numere: Math.hypot([3, 4]) dă NaN. Folosește Math.hypot(...tablou).

Comenzi înrudite

  • Math.pow / sqrt / cbrt: Ridică un număr la o putere și calculează rădăcina pătrată sau cubică.
  • Math.sin / cos / tan / atan2: Funcțiile trigonometrice și inversele lor; unghiurile sunt în radiani.
  • Math.abs: Returnează valoarea absolută a unui număr (numărul fără semnul minus).