es6中的symbol是一種新的原始資料類型,用來表示獨一無二的值,最大的用法是用來定義物件的唯一屬性名稱;因為Symbol是原始資料類型,不是對象,所以Symbol函數棧不能用new指令。
本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
ES6 引進了一個新的原始資料型別 Symbol ,表示獨一無二的值,最大的用法是用來定義物件的唯一屬性名稱。
ES6 資料型別除了 Number 、 String 、 Boolean 、 Object、 null 和 undefined ,也新增了 Symbol 。
基本用法
Symbol 函數堆疊不能用 new 指令,因為 Symbol 是原始資料型別,不是物件。可以接受一個字串作為參數,為新建立的 Symbol 提供描述,用來顯示在控制台或作為字串的時候使用,以便於區分。
let sy = Symbol("KK"); console.log(sy); // Symbol(KK) typeof(sy); // "symbol" // 相同参数 Symbol() 返回的值不相等 let sy1 = Symbol("kk"); sy === sy1; // false
參數特點
Symbol的參數一般會存放一個字串用來標識不同的值,如果Symbol的參數是一個物件,那麼就會呼叫該物件的toString方法,將其轉換成字串,然後在產生一個Symbol值。
var s1 = Symbol('id1'); var s2 = Symbol('id1'); console.log(s1 == s2);//false var s3 = Symbol({}); console.log(s3);//Symbol([object Object])
Symbol裡面的參數是表示目前這個Symbol值的描述,即便參數相同這兩個Symbol值也不會相同。
用法及特點
Symbol 作為物件屬性名稱時不能用.運算符,要用方括號。因為.運算子後面是字串,所以取到的是字串 sy 屬性,而不是 Symbol 值 sy 屬性。
let syObject = {}; syObject[sy] = "kk"; syObject[sy]; // "kk" syObject.sy; // undefined
【相關推薦:javascript影片教學、web前端】
以上是es6中symbol到底是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!