gpt4 book ai didi

javascript - 为什么编译后的 Angular 代码使用闭包而不是类?

转载 作者:行者123 更新时间:2023-11-29 17:35:17 25 4
gpt4 key购买 nike

目前正在学习闭包,并注意到 Angular 组件 Typescript 类被编译为闭包函数。在 Javascript 类上使用闭包有什么特别的原因吗?例如从一个全新的项目编译 AppComponent.ts。

var AppComponent = /** @class */ (function () {
function AppComponent() {
this.title = 'My App';
}
AppComponent.prototype.ngOnInit = function () {
};
AppComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
selector: 'app-root',
template: __webpack_require__(/*! ./app.component.html */ "./src/app/app.component.html"),
styles: [__webpack_require__(/*! ./app.component.scss */ "./src/app/app.component.scss")]
}),
tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [])
], AppComponent);
return AppComponent;
}());

我知道闭包有多种用途,封装就是其中之一,所以当您想要实现的是一个类时,为什么不使用类。

谢谢。

最佳答案

因为 function 与 Internet Explorer 和其他过时的浏览器兼容,但 class 关键字不兼容。 class 只能在支持 ES6 的环境中使用。因此,为了兼容性,“类”被转换为立即调用的函数。

关于javascript - 为什么编译后的 Angular 代码使用闭包而不是类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com