Symbol.prototype.description
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月.
description は Symbol 値のアクセサープロパティで、このシンボルの説明を格納した文字列を返し、シンボルに説明がない場合は 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> |