/JavaScript

# Math.min()

The static function `Math.min()` returns the lowest-valued number passed into it, or `NaN` if any parameter isn't a number and can't be converted into one.

## Syntax

```Math.min()
Math.min(value0)
Math.min(value0, value1)
Math.min(value0, value1, /* … ,*/ valueN)
```

### Parameters

`value1`, …, `valueN`

Zero or more numbers among which the lowest value will be selected and returned.

### Return value

The smallest of the given numbers. If any one or more of the parameters cannot be converted into a number, `NaN` is returned. The result is `Infinity` if no parameters are provided.

## Description

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

If no arguments are given, the result is `Infinity`.

If at least one of arguments cannot be converted to a number, the result is `NaN`.

## Examples

### Using Math.min()

This finds the min of `x` and `y` and assigns it to `z`:

```const x = 10, y = -20;
const z = Math.min(x, y);
```

### Clipping a value with Math.min()

`Math.min()` is often used to clip a value so that it is always less than or equal to a boundary. For instance, this

```let x = f(foo);

if (x > boundary) {
x = boundary;
}
```

may be written as this

```const x = Math.min(f(foo), boundary);
```

`Math.max()` can be used in a similar way to clip a value at the other end.

## Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
`min`
1
12
1
3
3
1
4.4
18
4
10.1
1
1.0
1.0
0.10.0