亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ES6概念 ymbol.for()方法

 更新時(shí)間:2016年12月25日 15:27:20   投稿:mdxy-dxy  
這篇文章主要介紹了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)文章

最新評論