# has-symbols

> Determine if the JS environment has Symbol support. Supports spec, or shams.

Latest version **1.1.0** (published 2024-12-02) · MIT license · 0 weekly downloads

> **Native alternative:** Always `true` — Use native JavaScript (Node 0.12.0+) (https://developer.mozilla.orgGlobal_Objects/Symbol)

## Install

```sh
npm install has-symbols
pnpm add has-symbols
yarn add has-symbols
bun add has-symbols
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2024-12-02 |
| First published | 2016-09-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >= 0.4 |
| Dependencies | 0 |
| Unpacked size | 22.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 18 |
| Author | Jordan Harband |
| Maintainers | ljharb |
| Keywords | Symbol, symbols, typeof, sham, polyfill, native, core-js, ES6 |

## Links

- npm: https://www.npmjs.com/package/has-symbols
- Repository: https://github.com/inspect-js/has-symbols
- Homepage: https://github.com/ljharb/has-symbols#readme
- Issues: https://github.com/ljharb/has-symbols/issues
- Funding: https://github.com/sponsors/ljharb
- npm.io page: https://npm.io/package/has-symbols

## Recent versions

- 1.1.0 (latest) — 2024-12-02
- 1.0.3 — 2022-03-01
- 1.0.2 — 2021-02-27
- 1.0.1 — 2019-11-17
- 1.0.0 — 2016-09-19

## README

# has-symbols <sup>[![Version Badge][2]][1]</sup>

[![github actions][actions-image]][actions-url]
[![coverage][codecov-image]][codecov-url]
[![dependency status][5]][6]
[![dev dependency status][7]][8]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

[![npm badge][11]][1]

Determine if the JS environment has Symbol support. Supports spec, or shams.

## Example

```js
var hasSymbols = require('has-symbols');

hasSymbols() === true; // if the environment has native Symbol support. Not polyfillable, not forgeable.

var hasSymbolsKinda = require('has-symbols/shams');
hasSymbolsKinda() === true; // if the environment has a Symbol sham that mostly follows the spec.
```

## Supported Symbol shams
 - get-own-property-symbols [npm](https://www.npmjs.com/package/get-own-property-symbols) | [github](https://github.com/WebReflection/get-own-property-symbols)
 - core-js [npm](https://www.npmjs.com/package/core-js) | [github](https://github.com/zloirock/core-js)

## Tests
Simply clone the repo, `npm install`, and run `npm test`

[1]: https://npmjs.org/package/has-symbols
[2]: https://versionbadg.es/inspect-js/has-symbols.svg
[5]: https://david-dm.org/inspect-js/has-symbols.svg
[6]: https://david-dm.org/inspect-js/has-symbols
[7]: https://david-dm.org/inspect-js/has-symbols/dev-status.svg
[8]: https://david-dm.org/inspect-js/has-symbols#info=devDependencies
[11]: https://nodei.co/npm/has-symbols.png?downloads=true&stars=true
[license-image]: https://img.shields.io/npm/l/has-symbols.svg
[license-url]: LICENSE
[downloads-image]: https://img.shields.io/npm/dm/has-symbols.svg
[downloads-url]: https://npm-stat.com/charts.html?package=has-symbols
[codecov-image]: https://codecov.io/gh/inspect-js/has-symbols/branch/main/graphs/badge.svg
[codecov-url]: https://app.codecov.io/gh/inspect-js/has-symbols/
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-symbols
[actions-url]: https://github.com/inspect-js/has-symbols/actions

---
_Source: https://npm.io/package/has-symbols · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
