Symbol.for()是JavaScript中的内置函数,用于将给定符号搜索到runtime-wide符号注册表中,如果找到该符号,则返回相同符号,否则将在全局变量中创建与该符号相同名称的新符号符号注册表并返回它们。
用法:
Symbol.for(key);
“Symbol”是要在runtime-wide符号注册表中搜索的符号。
参数:该函数接受参数“key”,该参数是符号的键,用于描述符号。
返回值:此函数返回在runtime-wide符号注册表中找到的给定符号,否则将创建一个与该给定符号同名的新符号并返回。
JavaScript代码显示此函数的工作方式:
示例1:
<script >
// Some symbols are created
const symbol1 = Symbol.for('Geeks');
const symbol2 = Symbol.for(123);
const symbol3 = Symbol.for("gfg");
const symbol4 = Symbol.for('789');
// Getting the same symbols if found
// in the global symbol registry
// otherwise a new created and returned
console.log(symbol1);
console.log(symbol2);
console.log(symbol3);
console.log(symbol4);
</script>
输出:
> Symbol(Geeks) > Symbol(123) > Symbol(gfg) > Symbol(789)
示例2:
<script>
// Some symbols are created
const symbol1 = Symbol.for('a', 'b', 'c');
const symbol2 = Symbol.for(1, 2, 3);
const symbol3 = Symbol.for(1 + 2);
const symbol4 = Symbol.for("Geeks" + "for" + "Geeks");
// Getting the same symbols if found
// in the global symbol registry
// otherwise a new created and returned
console.log(symbol1);
console.log(symbol2);
console.log(symbol3);
console.log(symbol4);
</script>
输出:
> Symbol(a) > Symbol(1) > Symbol(3) > Symbol(GeeksforGeeks)
在上面的代码中,键不能为多个,否则它会接受第一个元素作为键并丢弃其余元素,并且如果使用某些算术运算符代替键,则此函数会将那个键视为操作的结果。
支持的浏览器:
- Google Chrome
- Firefox
- Edge
- Opera
- Apple Safari
参考: https://devdocs.io/javascript/global_objects/symbol/for
相关用法
- Javascript toPrecision()用法及代码示例
- Javascript Math.abs( )用法及代码示例
- Javascript toString()用法及代码示例
- Javascript Array some()用法及代码示例
- Javascript toFixed()用法及代码示例
- Javascript toExponential()用法及代码示例
- Javascript Math.pow( )用法及代码示例
- Javascript Math.E()用法及代码示例
注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 JavaScript | Symbol.for() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。