JavaScript - Symbol.for() 方法



在 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>

在执行上述脚本时,将弹出输出窗口,在网页上显示文本。