更新時間:2023年05月25日11時09分 來源:傳智教育 瀏覽次數(shù):
Symbol是ES6中新增的一種原始數(shù)據(jù)類型,它的功能類似于一種標識唯一性的ID值,表示獨一無二。下面將詳細講解Symbol的基本使用。
1.Symbol的基本使用
Symbol是原始數(shù)據(jù)類型,而不是對象,因此Symbol0函數(shù)不能使用new關(guān)鍵字。Symbol0函數(shù)可以接收一個字符串作為參數(shù),為新創(chuàng)建的Symbol實例提供描述信息,該描述信息主要是在控制臺中顯示或轉(zhuǎn)為字符串時使用,以便于區(qū)分下面進行代碼演示Symbol的基本使用,示例代碼如下。
<script> let sl = Symbol('a'); let s2 = Synbol('b'); console.log (sl); //輸出結(jié)果:Symbol('a') console.log (52); //輸出結(jié)果:Symbol('b') </script>上述代碼中,s1和s2是兩個Symbol數(shù)據(jù)類型的值。如果不向Symbolo函數(shù)傳遞參數(shù),則在控制臺中sl和2的輸出結(jié)果都為Symbol0,不利于區(qū)分。如果有參數(shù),則相當于向sl和2添加了描述信息,在輸出時就可以區(qū)分清楚sl和s2分別代表哪些值。
每個Symbel實例都是唯一的,即使具有相同參數(shù)的兩個Symbol0函數(shù)進行比較時,函數(shù)的返回結(jié)果都會是false,示例代碼如下。
<script> let sl = Synbol('a'); let s2 = Symbol('a'); console.1og(s1); //輸出結(jié)果:Symbol('a') console.log(s2); //輸出結(jié)果:Symbol('a') console.log(s1 === s2);//輸出結(jié)果:false </script>