1
在TypeScript中,假设存在一个简单的类Person3。 typescript如何编译类和普通的匿名函数之间的实际区别是什么?
class Person3 {
name: string
constructor(public name: string) {
this.name = name
}
}
如果我们手写的JavaScript,我们可能会写这样的功能:
var Person3 = function(name){
this.name = name;
}
;甚至可以用纯函数的语法去:
function Person3(name){
this.name = name;
}
但打字稿汇编为:
var Person3 = (function(){
function Person3(name){
this.name = name;
}
return Person3;
}());
一个变量,其中包含保存匿名函数的表达式。这个匿名函数包含并返回一个名称与变量名称相匹配的命名函数。据我所知,匿名函数被内联调用。当它被调用时,指定的函数将返回,然后在返回到表达式括号中进行评估。
为什么这样做?我确信必须有一个原因,但我仍然觉得我很难真正理解这里发生的事情。为什么不使用name =匿名构造函数?嵌套函数给我们带来了什么好处?