# Symbol > [Symbol][mdn-symbol] factory.
## Usage ```javascript var Symbol = require( '@stdlib/symbol/ctor' ); ``` #### Symbol( \[description] ) Returns a [`Symbol`][mdn-symbol] primitive. ```javascript var s = Symbol(); // returns ``` To aid debugging, provide a [symbol][mdn-symbol] `description`. ```javascript var s = Symbol( 'beep' ); // returns ```
## Notes - Unlike conventional constructors, the function does **not** support the `new` keyword. - The function is only supported in environments which support [symbols][mdn-symbol]. In non-supporting environments, the value is `undefined`.
## Examples ```javascript var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' ); var Symbol = require( '@stdlib/symbol/ctor' ); var s; if ( hasSymbolSupport() ) { s = Symbol( 'beep' ); // Print the value type: console.log( typeof s ); // => 'symbol' // Serialize the symbol as a string: console.log( s.toString() ); // => 'Symbol(beep)' // Test symbol equality: console.log( s === Symbol( 'beep' ) ); // => false } else { console.log( 'Environment does not support symbols.' ); } ```