Symbol.prototype.description - JavaScript | MDN

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.

descriptionSymbol 値のアクセサープロパティで、このシンボルの説明を格納した文字列を返し、シンボルに説明がない場合は undefined を返します。

試してみましょう

console.log(Symbol("desc").description);
// 予想される結果: "desc"

console.log(Symbol.iterator.description);
// 予想される結果: "Symbol.iterator"

console.log(Symbol.for("foo").description);
// 予想される結果: "foo"

console.log(`${Symbol("foo").description}bar`);
// 予想される結果: "foobar"

解説

Symbol オブジェクトは、オプションの説明を使用して作成できます。これはデバッグには使用できますが、シンボル自体にはアクセスできません。Symbol.prototype.description プロパティを使用して、その説明を読み取ることができます。囲んでいる "Symbol()" 文字列が含まれていないため、 Symbol.prototype.toString() とは異なります。例を参照してください。

description を使用する

js

Symbol("desc").toString(); // "Symbol(desc)"
Symbol("desc").description; // "desc"
Symbol("").description; // ""
Symbol().description; // undefined

// well-known symbols
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)"
Symbol.iterator.description; // "Symbol.iterator"

// global symbols
Symbol.for("foo").toString(); // "Symbol(foo)"
Symbol.for("foo").description; // "foo"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-symbol.prototype.description

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.