TypeScript意外的标记,构造函数,方法,访问器或属性是预期的

时间:2017-03-28 13:18:38

标签: javascript typescript ecmascript-6 es6-class

尝试使用typescript在类中编写函数。

class Test 
{
    function add(x: number, y: number): number {
        return x + y;
    }
}

这会导致以下错误:

  

TypeScript意外的标记,构造函数,方法,访问器或   财产是预期的。

我复制了以下示例:https://www.typescriptlang.org/docs/handbook/functions.html

我错过了什么吗?我很困惑!

2 个答案:

答案 0 :(得分:22)

您不应该在Typescript类定义中使用function关键字。试试这个:

class Test { 
    add(x: number, y: number): number {
        return x + y;
    }
}

答案 1 :(得分:4)

TypeScript不允许function声明为类成员;它的语法略有不同......

class Test 
{
    // This will bind the add method to Test.prototype
    add(x: number, y: number): number 
    {
        return x + y;
    }

    // This will create a closure based method within the Test class
    add2 = (x: number, y: number) => {
        return x + y;
    }
}