ES6中Symbol的使用方法有以下幾種:
使用Symbol()
函數(shù)可以創(chuàng)建一個新的Symbol。
每個通過Symbol()
函數(shù)創(chuàng)建的Symbol是唯一的,即使調用Symbol()
函數(shù)時傳入相同的參數(shù),也會返回不同的Symbol。
Symbol可以作為對象的屬性名使用,這樣可以確保屬性名的唯一性。
使用Object.getOwnPropertySymbols()
可以獲取對象中的所有Symbol屬性,并可以使用Object.getOwnPropertySymbols(obj)
遍歷這些屬性。
可以使用Symbol作為常量,這樣可以確保常量的唯一性。
使用Symbol作為私有屬性或方法的命名,可以避免屬性或方法被意外訪問或重寫。
可以通過在對象上實現(xiàn)[Symbol.iterator]
方法,使對象成為一個可迭代的對象,可以使用for...of
循環(huán)遍歷對象。
ES6內置了一些Symbol值,例如Symbol.iterator
、Symbol.species
等,可以用于改變對象的默認行為。