Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

Symbol

The Symbol module contains the runtime predicate for JavaScript primitive symbol values. It is most useful at boundaries where a value is unknown and must be narrowed before it can be used as a symbol key, identifier, or discriminant.

1 exports Since v2.0.0 Source

Guards

Since v2.0.0

Checks whether a value is a symbol.

When to use

Use to validate unknown input before treating it as a JavaScript symbol.

Signature

declare const isSymbol: (u: unknown) => u is symbol

Example Checking for symbols

import { Symbol } from "effect"
Symbol.isSymbol(globalThis.Symbol.for("a")) // => true
Symbol.isSymbol("a") // => false