這篇文章主要介紹es6中symbol指的是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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以上是“es6中symbol指的是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。