ES6 原始類型 Symbol
阿新 • • 發佈:2018-10-17
原始類型 key 直接 構造 程序 運算 uid bubuko npr
1. 創建Symbol (沒有字面格式)
Symbol是原始值,沒有構造函數
Symbol接受一個可選參數,可以讓你添加一段文本描述即將創建的Symbol,這段描述不可用於屬性訪問,以便於代碼閱讀和調試程序
用typeof 來檢測Symbol
Symbol 可以用在可計算屬性名的地方
Symbol 共享體系
Symbol.for() 接受一個參數,那就是即將創建的Symbol字符串標識符,可共享
Symbol.for () 方法首先在全局Symbol註冊表搜索鍵為‘uid’ 的Symbol是否存在,如果存在,直接返回已有的Symbol ,否則,創建一個新的Symbol
並使用這個鍵在Symbol全局註冊表註冊,隨即返回新創建的Symbol
Symbol.keyFor() 在全局註冊表中檢索與Symbol有關的鍵
Symbol 與類型強制轉換
Symbol 不能強制轉化為字符串和數字類型,不能與字符串拼接,不能與運算符混合使用
Symbol 屬性檢索
Object.keys() 方法和 Object.getOwnPropertyNames() 方法可以檢索對象中的所有屬性名,前一個方法返回所有可枚舉的屬性名,後一個方法不考慮屬性的可枚舉性一律返回
Object.getOwnPropertySymbols() 的返回值是包含所有Symbol自有屬性的數組
ES6 原始類型 Symbol