Symbol概要

1。 數(shù)據(jù)類型Symbol是用于保證對象的屬性名的獨一無二性的。至此數(shù)據(jù)類型擴充為7種: undefined,null,Boolean,Number,Object,String,Symbol。
2。 Symbol函數(shù)可以接受一個參數(shù),作為Symbol實例的描述,如果這個參數(shù)是對象,會調(diào)用對象的toString方法,將對象字符串化。

  1. Symbol 值不可以和其他類型的值運算,但可以轉(zhuǎn)成字符串和布爾值, 不可以轉(zhuǎn)為數(shù)值:
let sym = Symbol();
String(sym);
sym.toString();
Boolean(sym);
!sym;
  1. 作為屬性名的Symbol有三種寫法:
let sym = Symbol();
let obj = {};
obj[sym] = "hello";  或者
let obj = {
     [sym]: function(){}
};  或者
Object.defineProperty(obj, sym, {value: "hello"});

引用Symbol屬性值時只能使用方括號,不能使用點號

  1. Object.getOwnPropertySymbols(obj)可以提取Symbol屬性,形成一個數(shù)組。
    Reflect.ownKeys(obj)可以提出去包括Symbol值的屬性,形成一個數(shù)組。
    6。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容