演示相关行为的示例代码:
export class NodePool {
private tail: Node;
private nodeClass: Function;
private cacheTail: Node;
constructor(nodeClass: Function) {
this.nodeClass = nodeClass;
}
get(): Node {
if (this.tail) {
var node = this.tail;
this.tail = this.tail.previous;
node.previous = null;
return node;
} else {
return new this.nodeClass();
}
}
}
示例的第 17 行(返回新......)导致编译器抱怨:
“函数”类型的值不是新的。
将任意类的构造函数存储在变量中以便我以后实例化它的正确方法是什么。