ES6概念 ymbol.for()方法
Symbol.for()方法:
使用Symbol()方法可以創(chuàng)建一個(gè)Symbol類型的值。
代碼實(shí)例如下:
let s = Symbol(); let one = Symbol("腳本之家"); let two = Symbol("腳本之家"); console.log(one == two);
即便是鍵值相同兩個(gè)Symbol類型的值也是不相同的。
更多關(guān)于Symbol的內(nèi)容可以參閱ES2015 Symbol一章節(jié)。
使用Symbol.for()方法也可以創(chuàng)建一個(gè)Symbol類型的值,但是此方法和Symbol()的一個(gè)重要區(qū)別是,它不會重復(fù)創(chuàng)建具有相同鍵的值,也就是說此方法在創(chuàng)建一個(gè)值之前,首先會搜索是否已經(jīng)具有指定鍵的Symbol類型的值,如果有則返回這個(gè)Symbol值,否則新創(chuàng)建一個(gè)Symbol值。
代碼實(shí)例:
let one = Symbol.for("腳本之家"); let two = Symbol.for("腳本之家"); console.log(typeof one); console.log(one == two);
第一次調(diào)用Symbol.for()方法會創(chuàng)建一個(gè)鍵值為"腳本之家"的Symbol類型的值。
第二次調(diào)用的時(shí)候會搜索是否已經(jīng)存在以"腳本之家"為鍵的Symbol類型的值,如果存在就返回這個(gè)Symbol值。
let one = Symbol.for(); let two = Symbol.for(); console.log(typeof one); console.log(one == two);
不傳遞參數(shù)也是同樣的道理。
let one = Symbol("腳本之家"); let two = Symbol.for("腳本之家"); console.log(one == two);
Symbol.for()創(chuàng)建的值會被登記在全局環(huán)境中供搜索,而Symbol()創(chuàng)建的值不會,所以Symbol.for("腳本之家")依然會新創(chuàng)建一個(gè)Symbol值,而不是返回Symbol("腳本之家")創(chuàng)建的值。
相關(guān)文章
探索JavaScript函數(shù)的無限可能(函數(shù)基本概念)
JavaScript中的函數(shù)是一種重要的編程概念,它允許我們封裝可重用的代碼塊,并在需要時(shí)進(jìn)行調(diào)用,本文將深入介紹JavaScript函數(shù)的各個(gè)方面,包括函數(shù)定義和調(diào)用、參數(shù)和返回值、作用域和閉包、高階函數(shù)以及常見的函數(shù)應(yīng)用場景,感興趣的朋友一起看看吧2023-08-08JS實(shí)現(xiàn)iframe自適應(yīng)高度的方法(兼容IE與FireFox)
這篇文章主要介紹了JS實(shí)現(xiàn)iframe自適應(yīng)高度的方法,涉及javascript與iframe交互動態(tài)操作頁面元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-06-06javascript實(shí)現(xiàn)多級聯(lián)動下拉菜單的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)多級聯(lián)動下拉菜單的方法,通過javascript自定義函數(shù)實(shí)現(xiàn)對多級聯(lián)動下拉菜單的操作,是非常實(shí)用的技巧,需要的朋友可以參考下2015-02-0267 個(gè)節(jié)約開發(fā)時(shí)間的前端開發(fā)者的工具、庫和資源
在本文中,我不會去談 React、Angular、Vue 等等這些大的前端框架,也不會談 Atom、VS code、Sublime 等等這些已經(jīng)很出名的代碼編輯器,我只是想簡單的分享一套我認(rèn)為有助于提升開發(fā)者工作流的工具集2017-09-09uniapp使用u-upload組件來實(shí)現(xiàn)圖片上傳功能
最近在用uniapp開發(fā)微信小程序,下面這篇文章主要給大家介紹了關(guān)于uniapp使用u-upload組件來實(shí)現(xiàn)圖片上傳功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01layui-table表復(fù)選框勾選的所有行數(shù)據(jù)獲取的例子
今天小編就為大家分享一篇layui-table表復(fù)選框勾選的所有行數(shù)據(jù)獲取的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09js之如何刪除多層數(shù)組嵌套的最后一層中的部分?jǐn)?shù)據(jù)
這篇文章主要介紹了js之如何刪除多層數(shù)組嵌套的最后一層中的部分?jǐn)?shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06