JavaScriptのsymbol.descriptionプロパティとは?使い方と実行例を解説
symbol.description プロパティは、Symbolオブジェクトの生成時に引数として渡した任意の説明(ディスクリプション)を返す、読み取り専用のプロパティです。
このプロパティは ECMAScript 2019(ES10)で追加されました。説明を指定せずに生成したシンボルに対しては undefined を返し、Symbol.iterator のような組み込みシンボルからも同様に説明を取得できます。デバッグやログ出力時にシンボルを識別しやすくなるため、実務でも非常に便利な機能です。
主なポイント
- シンボル作成時に指定した説明文字列を取得できる
- 読み取り専用のため、後から値を変更することはできない
- 説明が未指定の場合は
undefinedが返る
以下は、symbol.description プロパティを使った具体的なコード例です。
サンプルコード
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
div {
font-size: 20px;
font-weight: 500;
}
</style>
</head>
<body>
<h1>JavaScript symbol.description property</h1>
<div class="sample"></div>
<button class="Btn">CLICK HERE</button>
<h3>
Click on the above button to get the description for the symbols.
</h3>
<script>
let fillEle = document.querySelector(".sample");
let desc = [];
desc.push(Symbol("New").description);
desc.push(Symbol("Hello").description);
desc.push(Symbol.iterator.description);
document.querySelector(".Btn").addEventListener("click", () => {
desc.forEach((item) => (fillEle.innerHTML += item + "<br>"));
});
</script>
</body>
</html>出力結果

「CLICK HERE」ボタンをクリックすると、各シンボルの説明が1行ずつ画面に表示されます。「New」「Hello」のほか、組み込みシンボルである Symbol.iterator の説明も取得できていることが確認できます。

-
JavaScriptのlastIndexプロパティとは?正規表現のマッチ位置を取得する方法
lastIndexプロパティとは JavaScriptにおける「lastIndex」プロパティは、正規表現オブジェクトが持つプロパティの一つで、直前のマッチが終了した位置(インデックス)を返します。そして、次回の検索はその位置から再開されるという仕組みになっています。 重要な注意点として、lastIndexプロパティは「g」(グローバル)フラグが設定されている場合にのみ機能します。「g」フラグがない状態では、lastIndexは常に0のまま変化しないため、連続した検索を行うことができません。 以下は、JavaScriptでlastIndexプロパティを使用する際のコード例です。 サンプルコード
-
JavaScriptのsourceプロパティとは?正規表現パターンテキストを取得する方法を解説
JavaScriptのsourceプロパティは、RegExp(正規表現)オブジェクトに設定されたパターン文字列そのものを返すプロパティです。g(グローバルマッチ)やi(大文字・小文字を区別しない)などのフラグは結果に含まれず、マッチング対象となる純粋な正規表現テキストのみを取得できます。 動的に正規表現を組み立てたい場合や、デバッグ時に実際に適用されているパターンを確認したい場合などに活用できる便利なプロパティです。 基本構文 const regex = /pattern/flags; console.log(regex.source); // パターン文字列のみが返される サンプルコード