在 JavaScript 中,符号是一种基本数据类型,用于创建唯一标识符。符号可用于在各种上下文(例如对象属性或 Map 键)中创建键,因为它们保证是唯一的,这与字符串不同。
Symbol.for() 方法获取元件的描述,并在全局元件注册表中搜索具有给定描述的元件。如果在现有元件中找到提供的描述,则返回该元件;如果没有,它会创建一个新元件并将其添加到全局注册表中。
语法
以下是 JavaScript Symbol.for() 方法的语法 -
Symbol.for(key)
参数
此方法只接受一个参数。下面描述相同 -
- 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')]: 'QC',
[Symbol.for('examp2')]: 'QikepuCom'
};
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
下面是一个示例,我们将从品种中获取 key。
<html>
<style>
body {
font-family: verdana;
color: #DE3163;
}
</style>
<body>
<script>
let tp = Symbol.for('QikepuCom');
let x = Symbol.keyFor(tp);
document.write(x);
</script>
</body>
</html>
在执行上述脚本时,将弹出输出窗口,在网页上显示文本。