作为变量
const sb = Symbol(‘描述’)
作为属性
const keys = {
code: Symbol('code'),
message: Symbol('message')
}
const result = {
[keys.code]: 200,
[keys.message]: 'ok',
list: []
}
// 遍历普通属性
for (let k in result) {
console.log(k) // list
}
// 遍历Symbol属性
Object.getOwnPropertySymbols(result) // [Symbol(code), Symbol(message)]
// 遍历所有属性
Reflect.ownKeys(result).forEach(k => console.log(result[k])) // [], 200, ok
迭代应用 [Symbol.iterator]
JS
使用symbol
对数据结构进行可迭代处理
可迭代数据结构:
- String
- Array
- Set
- Map
- NodeList
- Arguments
对象属性迭代处理
将对象的某个属性进行可迭代处理