类属性 - 点或等号

时间:2017-05-25 20:33:07

标签: typescript

我正在阅读角文档,所有类都定义了如下属性:

class A {
a = 2;
};

并在打字稿官方文档中:

class A {
a:2
}

为什么这是谁,哪一个是对的?

1 个答案:

答案 0 :(得分:2)

= 符号将生成值 2 的类成员。 似乎正在生成类型为 2 的属性,但它的值实际上是未定义的。

您可以在已编译的代码中轻松查看。

此代码:

class A {
  x: 2;
  y = 2;

  method() {
    console.log(this.x)
  }
}

console.log(new A().x)

透明至:

var A = (function () {
    function A() {
        this.y = 2;
    }
    A.prototype.method = function () {
        console.log(this.x);
    };
    return A;
}());
console.log(new A().x);

你可以在游乐场here看到它。