JavaScript - Symbol.keyFor() 方法



Symbol.keyFor() 方法用于从全局元件注册表中检索与给定元件关联的字符串键。如果使用此方法创建元件,则会使用指定的键在全局元件注册表中注册该元件。此注册表允许在程序的不同模块或不同部分之间共享符号。

Symbol.keyFor() 方法返回在全局元件注册表中注册元件时使用的密钥。如果在注册表中找不到该符号,则返回 undefined。

语法

以下是 JavaScript Symbol.keyFor() 方法的语法 -


 Symbol.keyFor(symbol);

参数

此方法只接受一个参数。下面描述相同 -

  • symbol - 要检索其键的元件。

返回值

该方法返回特定交易品种对应的 key。

示例 1

让我们看看下面的例子,我们将使用 Symbol.for() 创建一个品种并检索输出。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = Symbol.for('Welcome');
	 	 	 	 	document.write(Symbol.keyFor(x));
	 	 	 </script>
	 	</body>
</html>

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

示例 2

考虑另一种情况,我们将创建一个未添加到全局符号注册表的符号并检索输出。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = Symbol('QikepuCom');
	 	 	 	 	document.write(Symbol.keyFor(x));
	 	 	 </script>
	 	</body>
</html>

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

示例 3

在以下示例中,我们将创建两个具有不同键的元件并执行比较。


<html>
	 	<style>
	 	 	 body {
	 	 	 	 	font-family: verdana;
	 	 	 	 	color: #DE3163;
	 	 	 }
	 	</style>
	 	<body>
	 	 	 <script>
	 	 	 	 	const x = Symbol.for('Hi');
	 	 	 	 	const y = Symbol.for('Hello');
	 	 	 	 	document.write(Symbol.keyFor(x) != Symbol.keyFor(y));
	 	 	 </script>
	 	</body>
</html>

当我们执行上述脚本时,会弹出输出窗口,显示文本 'true',表示两个交易品种不相等。