web-dev-qa-db-ja.com

TypeScript Unexpected token、A constructor、method、accessor or property was expected

TypeScriptを使用してクラス内で関数を記述しようとしています。

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

これにより、次のエラーが発生します。

TypeScript Unexpected token、A constructor、method、accessor or property expected。

以下から例をコピーしました: https://www.typescriptlang.org/docs/handbook/functions.html

何か不足していますか?よくわかりません!

9
Guido Kleijer

TypeScriptクラス定義でfunctionキーワードを使用しないでください。代わりにこれを試してください:

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

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;
    }
}
5
series0ne