Object
获取实例对象的原型 Object.getPrototypeOf
Object.getPrototypeOf(ChildClass) === FatherClass
判断一个类是否继承另一个类
Iterable object
可迭代对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| const arr = [1,2,3]; for(let item of arr) { console.log(item) }
const str = 'code'; for(let item of str) { console.log(item) }
const set = new Set([1,2,3]) for(let item of set) { console.log(item); }
const map = new Map(); map.set("name", "XIAOMING"); map.set("age", 10); for(let item of map) { console.log(item); } for(let key of map.keys()) { console.log(key); } for(let value of map.values()) { console.log(value); } for(let [key,value] of map) { console.log(key + '-' + value); }
const object = { from: 0, to: 5, [Symbol.iterator]() { this.cur = this.from return this }, next() { if(this.cur < this.to) { return {done: false, value: this.cur ++} }else { return {done: true} } } } for(let item of object) { console.log(item); }
function* generatorFunc() { yield 10; yield 20; yield 30; } const obj = generatorFunc(); for(let item of obj) { console.log(item); }
|
Object to Map
| let obj = {"name":"XIAOMING", "age": 10}; let map = new Map(Object.entries(obj))
|
Map to Object
| let map = new Map(); map.set('name', 'XIAOMING'); map.set('age', '10'); let obj = Object.fromEntries(map);
|
weekSet & weekMap
- 当数据不可达或不可能被使用时,则会被垃圾回收掉以释放内存。
- Map可以设置对象为key值,如果此Map的一直被引用,但此对象不会再应用,此对象并不会被回收;
- weekMap 和 weekMap 可以设置key为 object, 但没有引用时则会被销毁
refer
for..of(MDN)
for..of
可迭代对象
function*