JavaScript - Symbol.keyFor() 方法
Symbol.keyFor() 方法用于从全局符号注册表中检索与给定符号关联的字符串键。如果使用此方法创建符号,则会使用指定的键将其注册到全局符号注册表中。此注册表允许符号在不同模块或程序的不同部分之间共享。
Symbol.keyFor() 方法返回符号在全局符号注册表中注册的键。如果在注册表中找不到该符号,则返回 undefined。
语法
以下是 JavaScript Symbol.keyFor() 方法的语法 -
Symbol.keyFor(symbol);
参数
此方法仅接受一个参数。下文同样描述 -
symbol - 需要检索其键的符号。
返回值
此方法返回与特定符号对应的键。
示例
示例 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('TutorialsPoint');
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",表示两个符号不相等。

