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

84,614

Solution 1

You shouldn't use the function keyword in a Typescript class definition. Try this instead:

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

Solution 2

TypeScript does not allow function declarations as class members; it has a slightly different syntax for that...

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;
    }
}
Share:
84,614
Guido Kleijer
Author by

Guido Kleijer

Updated on December 23, 2021

Comments

  • Guido Kleijer
    Guido Kleijer almost 2 years

    Just trying to write a function within a class using typescript.

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

    This results in the following error:

    TypeScript Unexpected token, A constructor, method, accessor or property was expected.

    I copied the example from: https://www.typescriptlang.org/docs/handbook/functions.html

    Am I missing something? I'm confused!