首页 > 解决方案 > 类属性初始值的 TypeScript 差异

问题描述

在 TypeScript 中,在定义时赋予类属性的初始值与在构造函数中赋予其初始值有什么区别吗?

class Car {
  engine = 'hybrid';
}

VS。

class Car {
  engine: string;
  constructor() {
    this.engine = 'hybrid';
  }
}

标签: typescriptclass

解决方案


这两个选项之间没有区别。编译您提供的两个代码版本时,您将得到相同的结果:

var Car = /** @class */ (function () {
    function Car() {
        this.engine = 'hybrid';
    }
    return Car;
}());

您可以在TypeScript playground中自行检查。


推荐阅读