JavaScript - Symbol.for() 方法
在 JavaScript 中,符号是一种基本数据类型,用于创建唯一标识符。符号可用于在各种上下文中创建键,例如对象属性或 Map 键,因为它们与字符串不同,保证唯一。
Symbol.for() 方法获取符号的描述,并在全局符号注册表中搜索具有给定描述的符号。如果在现有符号中找到提供的描述,则返回该符号;如果没有,则创建一个新的符号并将其添加到全局注册表中。
语法
以下是 JavaScript Symbol.for() 方法的语法 -
Symbol.for(key)
参数
此方法仅接受一个参数。下文对此进行了描述 -
key - 它是符号的键,也用作符号的描述。
返回值
如果找到,此方法将返回具有给定键的现有符号;否则,将创建并返回一个新符号。
示例
示例 1
让我们看下面的示例,我们将创建符号并检索它。
<html>
<style>
p {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<p id="demo"></p>
<script>
const tp = Symbol.for('Tutorial');
const retrive = Symbol.for('Tutorial');
document.getElementById('demo').innerHTML = tp === retrive;
</script>
</body>
</html>
如果我们执行上述程序,它将在网页上显示"true"文本。
示例 2
考虑以下示例,我们将使用符号表示对象属性。
<html>
<style>
p {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<p id="demo"></p>
<script>
const obj = {
[Symbol.for('examp1')]: 'TP',
[Symbol.for('examp2')]: 'TutorialsPoint'
};
document.getElementById('demo').innerHTML = obj[Symbol.for('examp2')];
</script>
</body>
</html>
执行上述脚本后,网页上将显示一段文本。
示例 3
在下面的示例中,我们将检查具有给定键的符号是否存在。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
const key = Symbol.for('tp');
if (Symbol.keyFor(key)) {
document.write('Yes, The Symbol Exists.');
} else {
document.write('No, The Symbol Doesnt Exists.');
}
</script>
</body>
</html>
当我们执行脚本时,它将在网页上显示一段文本。
示例 4
以下示例将从符号中获取密钥。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
let tp = Symbol.for('TutorialsPoint');
let x = Symbol.keyFor(tp);
document.write(x);
</script>
</body>
</html>
执行上述脚本后,将弹出输出窗口,显示网页上的文本。

