---
title: "no-new-symbol"
description: "Disallow `new Symbol()`"
# Generated by src/codegen/lint-rule-docs.ts. Do not edit below this line.
plugin: "eslint"
aliases: ["eslint/no-new-symbol"]
kind: "problem"
category: null
default: "off"
fixable: "no"
typeAware: false
deprecated: true
---

`Symbol` starts with a capital letter but isn't a constructor. `new Symbol("id")` throws a `TypeError` when it runs. Call it without `new`.

ESLint has deprecated this rule. Use `no-new-native-nonconstructor` instead, which also covers `BigInt`.

## Examples

Reported:

{/* bad */}
```js
const id = new Symbol("id");
```

Not reported:

{/* good */}
```js
const id = Symbol("id");
```
