说我有一个课程,例如:
class MyClass {
private readonly prop1 = "prop1"
private readonly prop2: string
constructor(
prop2 = "defaultProp2",
private readonly prop3 = "defaultProp3"
) {
this.prop2 = prop2
}
...
}
变量初始化顺序是什么?
答案 0 :(得分:4)
如果您编译为ES5
,则可以看到在代码向下编译时事物初始化的顺序(使用本机类时,顺序是一致的)。
var MyClass = /** @class */ (function () {
function MyClass(prop2, prop3) {
if (prop2 === void 0) { prop2 = "defaultProp2"; }
if (prop3 === void 0) { prop3 = "defaultProp3"; }
this.prop3 = prop3;
this.prop1 = "prop1";
this.prop2 = prop2;
}
return MyClass;
}());
所以顺序是: