---
title: "toBeNaN() | Grafana k6 documentation"
description: "Asserts that a value is NaN (Not a Number)"
---

# toBeNaN()

The `toBeNaN()` method asserts that a value is `NaN` (Not a Number).

## Syntax

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
expect(actual).toBeNaN();
expect(actual).not.toBeNaN();
```

## Returns

Expand table

| Type | Description     |
|------|-----------------|
| void | No return value |

## Description

The `toBeNaN()` method checks if a value is exactly `NaN` using `Number.isNaN()`. It only passes for the `NaN` value and fails for all other values, including numbers, strings, and other falsy values.

## Usage

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { expect } from 'https://jslib.k6.io/k6-testing/0.6.1/index.js';

export default function () {
  const formData = {
    age: '25',
    invalidNumber: 'not-a-number',
  };

  // Validate numeric conversions
  expect(Number(formData.age)).not.toBeNaN();
  expect(Number(formData.invalidNumber)).toBeNaN();

  // Mathematical operations that result in NaN
  expect(0 / 0).toBeNaN();
  expect(Math.sqrt(-1)).toBeNaN();
  expect(Infinity - Infinity).toBeNaN();

  // Valid numbers are not NaN
  expect(123).not.toBeNaN();
  expect(Infinity).not.toBeNaN();
  expect(1 / 0).not.toBeNaN(); // Infinity
}
```
