admin 管理员组文章数量: 1086019
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: .html
Am I missing something? I'm confused!
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!
Share Improve this question edited Mar 28, 2017 at 13:29 Mike Chamberlain 42.4k28 gold badges112 silver badges159 bronze badges asked Mar 28, 2017 at 13:18 Guido KleijerGuido Kleijer 5891 gold badge6 silver badges8 bronze badges 2 |3 Answers
Reset to default 68You 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;
}
}
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;
}
}
The same error is also thrown when you try to access a property outside a life-cycle hook. You need to access them in a life-cycle hook or constructor like:
class Test {
x: number;
y: number;
add(x: number, y: number): number {
this.x = x;
this.y = y;
return this.x + this.y;
}
}
...
export class Component implements OnInit {
test: Test = new Test();
test.x = 0; // NOK, will throw: Unexpected token, A constructor... error
constructor() {
test.x = 0; // OK
}
ngOnInit(): void {
test.x = 0; // OK
}
}
本文标签:
版权声明:本文标题:javascript - TypeScript Unexpected token, A constructor, method, accessor or property was expected - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1737206440a1795684.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
function
key word is wrong. You can not use it inside a class to define a method. Just remove it and this code will be fine. – Diullei Commented Mar 28, 2017 at 14:13