JavaScript符號

易於理解的教程,了解JavaScript符號

Symbol是JavaScript的原始數據類型,細繩數字,布爾值,null和未定義。

它是在ECMAScript 2015,所以就在幾年前。

這是一種非常特殊的數據類型。創建符號後,其值將保持私有狀態並僅供內部使用。

創建後剩下的所有內容就是符號引用。

您可以通過調用Symbol()全局工廠功能:

const mySymbol = Symbol()

每次調用Symbol()我們將獲得一個新的唯一符號,並保證與所有其他符號都不同:

Symbol() === Symbol() //false

您可以將參數傳遞給Symbol(),並且用作符號描述,僅用於調試目的:

console.log(Symbol()) //Symbol()
console.log(Symbol('Some Test')) //Symbol(Some Test)

符號通常用於標識對象屬性。

通常避免屬性之間的名稱衝突,因為沒有符號等於另一個。

或者添加有意或無意識用戶無法覆蓋的屬性。

例子:

const NAME = Symbol()
const person = {
  [NAME]: 'Flavio'
}

person[NAME] //‘Flavio’ const RUN = Symbol() person[RUN] = () => ‘Person is running’ console.log(personRUN) //‘Person is running’

符號不會被枚舉,這意味著它們不會被包含在for..of或者for..in環形碰到一個物體。

符號不屬於Object.keys()或者Object.getOwnPropertyNames()結果。

您可以使用Object.getOwnPropertySymbols()方法。

免費下載我的JavaScript初學者手冊


更多js教程: