Symbol 是 JS 中的一種資料類型。它通常用於在 Javascript 中建立唯一鍵和隱藏物件鍵。
全域符號註冊表:全域符號註冊表是儲存使用Symbol.for建立的符號的空間。
句法
在下面的範例中,「john」是描述符,key_one 和 key_two 是符號。
const key_one = Symbol("john"); //local symbol const key_two = Symbol.for("john"); //global symbol console.log(typeof key_one) // symbol console.log(typeof key_two); //symbol
正如我之前所說,即使局部符號中的描述符相同,每個符號也是唯一的。讓我們驗證一下。
應用程式
const key_one = Symbol("john"); const key_two = Symbol("john"); key_one == key_two // false key_one === key_two //false
const key_one = Symbol.for("foo"); const key_two = Symbol.for("foo"); console.log(key_one === key_two); //true
應用程式
const zero = Symbol("0"); const temp = { 0:"zero", 1:"one", [zero]:"zero", 1.1:"one one", } const keys = Object.keys(temp); //["0","1","1.1"] console.log(temp[1.1]) // one one console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]
使用Symbol.keyFor(symbol)可以獲得全域符號的描述子
const key_one = Symbol.for("john") Symbol.keyFor(key_one) // "john" typeof Symbol.keyFor(key_one) //string
請在 dev.to 和 linkedin 上支持我? TY?
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3