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

Gui*_*jer 9 javascript typescript ecmascript-6 es6-class

只是尝试使用typescript在类中编写函数.

class Test 
{
    function add(x: number, y: number): number {
        return x + y;
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

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

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

我错过了什么吗?我糊涂了!

Mik*_*ain 25

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

class Test { 
    add(x: number, y: number): number {
        return x + y;
    }
}
Run Code Online (Sandbox Code Playgroud)


ser*_*0ne 5

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;
    }
}
Run Code Online (Sandbox Code Playgroud)