在Angular with TS的构造函数中,在声明期间初始化内联变量vs



我在Angular工作了一段时间,但找不到关于的明确建议

在构造函数中初始化内联成员变量

我有几次检查了我的代码,以便在构造函数中移动简单类型(布尔型、数字等(的初始化,但我仍然想知道这是更好的做法还是品味问题?对我来说,内联初始化会产生更本地化、更简洁的代码,这就是为什么我更喜欢它,但我是对的还是错的?

示例:

@Component({
selector: 'app-elem',
templateUrl: './app-elem.component.html',
styleUrls: ['./app-elem.component.scss'],
})
export class AppElemComponent {
public isHidden = true;    // <-- initialization inline
public isVisible: boolean;
constructor() {
this.isVisible = true;  // <-- vs initialization in the constructor
}
}

这是个人风格偏好。

通过在构造函数中初始化属性,可以在初始化属性时利用构造函数参数。

内联初始化属性更简洁,并使属性的默认值与其声明更符合上下文。

TypeScript编译器只在构造函数内部内联初始化值https://www.typescriptlang.org/play/

基本上没有区别,只是方便。使用constructor初始化的唯一区别是可以动态传递值,然后分配给它

constructor(visible) {
this.isVisible = visible;  // <-- vs initialization in the constructor
}

最新更新