angular - 在声明期间内联初始化变量与使用 TS 在 Angular 中的构造函数中初始化变量
问题描述
我已经使用 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/中带来内联初始化的值
推荐阅读
- node.js - Passport Facebook 身份验证返回未定义?
- vba - 字符串案例的不选择案例的案例
- c - Knight tours算法C实现性能
- python - TypeError:尝试运行机器人命令时,“str”对象不可调用
- html - 悬停在父级上以触发变换属性
- python - ValueError:无法为有效的 JSON 文件解码任何 JSON 对象
- mysql - 无法对 JDBC 目标执行架构管理
- javascript - 尝试通过 AJAX 提交 rails 表单时出现 400 错误
- c++ - 如何使用 cpp 在 unordered_map 中分配 lambda 函数?
- linq - 当我从 Azure 函数而不是控制台应用程序运行 LINQ 查询时失败