pve-eslint/eslint/docs/rules/no-new-symbol.md
Dominik Csapak eb39fafa4f first commit
includes a (minimal) working wrapper

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-06 15:06:03 +02:00

49 lines
908 B
Markdown

# Disallow Symbol Constructor (no-new-symbol)
`Symbol` is not intended to be used with the `new` operator, but to be called as a function.
```js
var foo = new Symbol("foo");
```
This throws a `TypeError` exception.
## Rule Details
This rule is aimed at preventing the accidental calling of `Symbol` with the `new` operator.
## Examples
Examples of **incorrect** code for this rule:
```js
/*eslint no-new-symbol: "error"*/
/*eslint-env es6*/
var foo = new Symbol('foo');
```
Examples of **correct** code for this rule:
```js
/*eslint no-new-symbol: "error"*/
/*eslint-env es6*/
var foo = Symbol('foo');
// Ignores shadowed Symbol.
function bar(Symbol) {
const baz = new Symbol("baz");
}
```
## When Not To Use It
This rule should not be used in ES3/5 environments.
## Further Reading
* [Symbol Objects specification](https://www.ecma-international.org/ecma-262/6.0/#sec-symbol-objects)