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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。