web-dev-qa-db-fra.com

Jeton TypeScript inattendu, un constructeur, une méthode, un accesseur ou une propriété était attendu

J'essaye juste d'écrire une fonction dans une classe en utilisant TypeScript.

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

Cela se traduit par l'erreur suivante:

Jeton TypeScript inattendu, un constructeur, une méthode, un accesseur ou une propriété était attendu.

J'ai copié l'exemple de: https://www.typescriptlang.org/docs/handbook/functions.html

Suis-je en train de manquer quelque chose? Je suis confus!

9
Guido Kleijer

Vous ne devez pas utiliser le mot clé function dans une définition de classe TypeScript. Essayez plutôt ceci:

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

TypeScript n'autorise pas les déclarations function en tant que membres de classe; il a une syntaxe légèrement différente pour ça ...

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