摘要:可以使用來判斷類型語法與該相關(guān)連的一個名字,可以通過這個名字獲取實例。例子說明和實例化的實例不同,使用實例化的實例在全局保存,相同的兩個返回的實例是一樣的。
0x000 概述
Symbol是es6新的基本數(shù)據(jù)類型,所以es之后的數(shù)據(jù)類型如下:
基本數(shù)據(jù)類型:
Boolean
Null
Undefined
Number
String
Symbol
引用類型
Object
0x001 Symbol()
語法
Symbol([description])
description:描述,可選字符串
例子
Symbol() Symbol(1) Symbol("string")
說明:
使用Symbol()初始化的變量是完全不同的兩個變量,description只是一個描述而已,沒有任何意義。
Symbol(1)===Symbol(1) // false
可以使用typeof來判斷Symbol類型
typeof Symbol("1") // "symbol"0x002 Symbol.for()
語法:
Symbol.for(key);
key:與該Symbol相關(guān)連的一個名字,可以通過這個名字獲取Symbol實例。
例子:
Symbol.for(1) Symbol.for("string")
說明:
和Symbol()實例化的Symbol實例不同,使用Symbol.for()實例化的實例在全局保存,相同的兩個key返回的Symbol實例是一樣的。也就是說,使用Symbol.for(key)實例化一個Symbol數(shù)據(jù)類型的時候,如果全局不存在這個key對應(yīng)的symbol,則全局創(chuàng)建一個key對應(yīng)的symbol,如果全局存在,則直接返回這個key對應(yīng)的Symbol。
Symbol.for("string")===Symbol.for("string") // true0x003 Symbol.keyFor(key)
語法
Symbol.keyFor(sym);
參數(shù):
sym:Symbal實例
返回值:
string:返回這個Symbol實例的key
例子
let sym=Symbol.for("string") console.log(Symbol.keyFor(sym)) // "string"
說明
Symbol(description)的description和Symbol.for(key)的key是不一樣的,description只是一個描述,除了調(diào)試沒有任何實際用途,無法通過description獲取這個Symbol實例:
let sym= Symbol("sss") Symbol.for("sss")===sym // false Symbol.keyFor(sym) // undefined
所以,Symbol.keyFor也只能獲取Symbol.for實例化的Symbol的key。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/108718.html
摘要:在運行時環(huán)境中,通過調(diào)用函數(shù)創(chuàng)建值,該函數(shù)動態(tài)生成匿名的唯一值。創(chuàng)建和使用值的唯一創(chuàng)建方法,是通過調(diào)用函數(shù)來返回,不支持操作。共享體系提供了一個全局注冊表,用于在大文件或多文件代碼中追蹤值。 Symbol由來 Symbol是ES6引入的新類型,所以在ES5的基礎(chǔ)上,JS就有了字符串(string)、數(shù)字型(number)、布爾(bool)、null、undefined和Symbol共六...
摘要:的碼點被稱為基本字符區(qū)域。關(guān)于的介紹,我準備用文檔阮一峰來做一些介紹,具體的可以參考文檔引入的原因的對象屬性名都是字符串,這容易造成屬性名的沖突。其他的一些屬性可以去看文檔阮一峰注意函數(shù)前不能使用命令,否則會報錯。 筆記說明 重學(xué)前端是程劭非(winter)【前手機淘寶前端負責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完...
摘要:的碼點被稱為基本字符區(qū)域。關(guān)于的介紹,我準備用文檔阮一峰來做一些介紹,具體的可以參考文檔引入的原因的對象屬性名都是字符串,這容易造成屬性名的沖突。其他的一些屬性可以去看文檔阮一峰注意函數(shù)前不能使用命令,否則會報錯。 筆記說明 重學(xué)前端是程劭非(winter)【前手機淘寶前端負責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完...
摘要:的碼點被稱為基本字符區(qū)域。關(guān)于的介紹,我準備用文檔阮一峰來做一些介紹,具體的可以參考文檔引入的原因的對象屬性名都是字符串,這容易造成屬性名的沖突。其他的一些屬性可以去看文檔阮一峰注意函數(shù)前不能使用命令,否則會報錯。 筆記說明 重學(xué)前端是程劭非(winter)【前手機淘寶前端負責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完...
閱讀 3191·2021-11-25 09:43
閱讀 2365·2021-09-07 10:28
閱讀 3912·2021-08-11 11:14
閱讀 2840·2019-08-30 13:49
閱讀 3617·2019-08-29 18:41
閱讀 1231·2019-08-29 11:26
閱讀 2048·2019-08-26 13:23
閱讀 3444·2019-08-26 10:43