The Math.atan() static method returns the inverse tangent (in radians) of a number, that is

𝙼𝚊𝚝𝚑.𝚊𝚝𝚊𝚗 ( 𝚡 ) = arctan ( x ) = the unique  y [ π 2 , π 2 ]  such that  tan ( y ) = x \mathtt{\operatorname{Math.atan}(x)} = \arctan(x) = \text{the unique } y \in \left[-\frac{\pi}{2}, \frac{\pi}{2}\right] \text{ such that } \tan(y) = x

Try it





A number.

Return value

The inverse tangent (angle in radians between - π 2 -\frac{\pi}{2} and π 2 \frac{\pi}{2} , inclusive) of x. If x is Infinity, it returns π 2 \frac{\pi}{2} . If x is -Infinity, it returns - π 2 -\frac{\pi}{2} .


Because atan() is a static method of Math, you always use it as Math.atan(), rather than as a method of a Math object you created (Math is not a constructor).


Using Math.atan()

Math.atan(-Infinity); // -1.5707963267948966 (-π/2)
Math.atan(-0); // -0
Math.atan(0); // 0
Math.atan(1); // 0.7853981633974483  (π/4)
Math.atan(Infinity); // 1.5707963267948966  (π/2)

// The angle that the line (0,0) -- (x,y) forms with the x-axis in a Cartesian coordinate system
const theta = (x, y) => Math.atan(y / x);

Note that you may want to avoid the theta function and use Math.atan2() instead, which has a wider range (between -π and π) and avoids outputting NaN for cases such as when x is 0.


ECMAScript Language Specification
# sec-math.atan

Browser compatibility

BCD tables only load in the browser

See also