请问代码中的这句如何理解?
两个this的指向一样吗?
能否分几个关键节点告知这句代码的前后变化、及this的指向变化?
this[this[size]] = item;
资源链接
var size = Symbol('size');
class Collection {
constructor() {
this[size] = 0;
}
add(item) {
this[this[size]] = item;
this[size]++;
}
static sizeOf(instance) {
return instance[size];
}
}
var x = new Collection();
Collection.sizeOf(x) // 0
x.add('foo');
Collection.sizeOf(x) // 1
Object.keys(x) // ['0']
Object.getOwnPropertyNames(x) // ['0']
Object.getOwnPropertySymbols(x) // [Symbol(size)]
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
this指向一样, 并且从来没有变过.这句话相当于
可见修改的是this指向的对象的temp属性。并不影响this的指向。
this一直指向Collection指向并没有变化