我目前正在移植一些JavaScript代码,但我不知道移植此类代码的最佳方法:
function verySlowCalculationOnlyDoThisOnce() {
console.log("logging slow calculation");
return "bye";
}
Test = function(name) {
this.name = name;
}
Object.assign(Test.prototype, {
hello: function() {
console.log("hello " + this.name)
},
bye: (function() {
var byeMessage = verySlowCalculationOnlyDoThisOnce();
return function() {
return byeMessage + ", " + this.name + "!";
}
}())
})
bye
方法基本上只准备一次返回值的一部分,每个test = new Test("you")
将重用慢速函数的结果。
如何为TypeScript重写此类代码?
实际生活中的例子是这样的:
三个Vec3
被分配一次以防止垃圾收集。