打字稿中的减法返回未定义

时间:2018-11-23 06:35:48

标签: javascript typescript

我是TypeScript的新手,正在尝试执行以下代码段:-

class TestClass
{
  public  t: number = 10;

  public TestClass()
   {
    this.t = this.t - 1;
    console.log(this.t);
   }
}

var obj = new TestClass();

这是playground

的链接

该片段(在转换为JavaScript时)在chrome开发者控制台中打印未定义,而我希望它可以打印9。

有人可以帮我解释打字稿和JavaScript中的行为

2 个答案:

答案 0 :(得分:1)

您似乎错过了调用该类的方法的时间:

<T: Numeric>

Demo@JSBIN


Typescript与Java不同,在Java中,您必须输入与类名称相同的构造函数名称。在Typescript / Javascript中,您必须使用obj.TestClass(); // <---should be called. 关键字。所有其他功能都被视为类成员。

Demo@Jsbin with constructor

答案 1 :(得分:1)

由于您在公共方法中声明了console.log部分,因此您需要运行obj.TestClass()

playground

也许您想改用constructor?。

相关问题