JavaScript - Symbol.description 属性



作为 JavaScript 语言的补充,Symbol.description 属性首先包含在 ECMAScript 中。它允许描述 Symbol,这是一种在 ES6 中首次引入的不可变且不同的数据类型。

符号缺乏固有的人类可读表示形式,并且在引入 Symbol.description 之前实际上是不透明的值。开发人员可以使用 Symbol.description 为 Symbol 提供字符串描述。符号的唯一性不受此描述的影响;两个单独的元件可以具有相同的描述。但是,它提供了一种向 Symbols 添加含义或元数据的便捷方法,使它们在调试和日志记录方案中更有用。

语法

以下是 JavaScript Symbol.description 属性的语法 -


 A.description;

参数

此属性不接受任何类型的参数。

返回值

此属性返回元件对象的可选描述。

示例 1

让我们看看下面的例子,我们将使用 x.description 来返回元件的描述。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: Bradley Hand ITC;
	 	 	 	 	font-size: 30px;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = Symbol('QikepuCom');
	 	 	 	 	document.write(x.description);
	 	 	 </script>
	 	</body>
</html>

如果我们执行上述程序,它将在网页上显示文本。

示例 2

考虑以下示例,我们将迭代 'tp' 对象中定义的符号并记录它们的描述。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = Symbol('Hi');
	 	 	 	 	const y = Symbol('Welcome');
	 	 	 	 	const tp = {
	 	 	 	 	 	 [x]: 'a',
	 	 	 	 	 	 [y]: 'b'
	 	 	 	 	};
	 	 	 	 	Object.getOwnPropertySymbols(tp).forEach(z => {
	 	 	 	 	 	 document.write(z.description + " < br > ");
	 	 	 	 	});
	 	 	 </script>
	 	</body>
</html>

在执行上述脚本时,它将在网页上显示文本。

示例 3

在下面的示例中,我们将创建一个函数来检查 symbol 是否包含 description。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: Bradley Hand ITC;
	 	 	 	 	font-size: 30px;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	function x(sym) {
	 	 	 	 	 	 return !!sym.description;
	 	 	 	 	}
	 	 	 	 	const a = Symbol('Welcome');
	 	 	 	 	const b = Symbol();
	 	 	 	 	document.write(x(a) + " < br > ");
	 	 	 	 	 	 document.write(x(b));
	 	 	 </script>
	 	</body>
</html>

当我们执行脚本时,它会在网页上显示一个文本。