Typescript类属性初始化顺序
假设我有一门课,比如:Typescript类属性初始化顺序,typescript,Typescript,假设我有一门课,比如: class MyClass { private readonly prop1 = "prop1" private readonly prop2: string constructor( prop2 = "defaultProp2", private readonly prop3 = "defaultProp3" ) { this.prop2 = prop2 } ... } 变量初始化顺序是什么?如果编
class MyClass {
private readonly prop1 = "prop1"
private readonly prop2: string
constructor(
prop2 = "defaultProp2",
private readonly prop3 = "defaultProp3"
) {
this.prop2 = prop2
}
...
}
变量初始化顺序是什么?如果编译到
ES5
,则可以在向下编译代码时看到初始化的顺序(使用本机类时,顺序是一致的)
因此,顺序是:
谢谢那么ES6呢?@LppEdd我查过了,目标之间的顺序是一致的(正如我预期的那样)太棒了,谢谢。我见过TS操场似乎只针对ES5@LppEdd是的,那是真的。我必须测试局部为什么为什么构造函数速记是第一个,但是Boad最后和类字段插入中间?编辑:哦,因为如果我想在构造函数中指定一个属性,它必须先初始化。有道理。
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;
}());