这是通过打字稿转译为javascript的一段代码。
”
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var A = /** @class */ (function () {
function A() {
}
return A;
}());
var B = /** @class */ (function (_super) {
__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
return B;
}(A));
”
我正在努力地理解这一点,并且已经取得了一定程度的成功,但是仍然存在一些问题:
第一:
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };. "b.hasOwnProperty"
b
已经是实例了吗?因为我试图遍历函数/类的属性,但还没有实现。除非我做错了,否则只能遍历实例的属性。
秒:Object.setPrototypeOf
和{ __proto__: [] }
是为了检查浏览器的兼容性吗?
我仍然是JavaScript的新手,因为它在问题中引人注目,但是即使我陷入了这种情况,也对此感到非常兴奋。
谢谢大家!!!!