<分区>
在 TypeScript 中,假设存在一个简单的类 Person3。
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;
}
但是 TypeScript 编译为:
var Person3 = (function(){
function Person3(name){
this.name = name;
}
return Person3;
}());
一个变量,它包含一个表达式,该表达式包含一个匿名函数。这个匿名函数包含并返回一个名称与变量名称匹配的命名函数。据我所知,匿名函数称为内联函数。当它被调用时,命名函数被返回,然后在它被返回到表达式括号中时被评估。
为什么要这样做?我敢肯定一定有原因,但我仍然觉得我无法真正理解这里发生的事情。为什么不直接使用 name = anonymous 构造器呢?嵌套函数给我们带来了什么好处?