为什么我们不在 Angular 组件中使用关键字“function”?

Rav*_*avy 6 angular

在 ts 文件中,

export class ComponentName{
   methodName (para1,para2) {
     //code here
   }
}
Run Code Online (Sandbox Code Playgroud)

这被认为是正确的,但是当我将关键字 function 添加到方法时,代码不会编译并给出错误,说它只需要方法、访问器、构造函数和属性。

vir*_*sha 3

我认为您在理解 ECMAScript 6 时遇到问题。Angular 使用基于 ECMAScript 6 的 TypeScript。

\n\n
\n

传统的 JavaScript 使用函数和基于原型的继承来构建可重用的组件,但这对于更熟悉“面向对象方法”的程序员来说可能会感觉有点尴尬,其中类继承功能而对象是从其构建的这些\n类。从 ECMAScript 2015(也称为 ECMAScript 6)开始,JavaScript 程序员将能够使用这种面向对象的基于类的方法来构建他们的应用程序。在 TypeScript 中,我们允许开发人员现在就使用这些技术,并将它们编译为可在所有主要浏览器和平台上运行的 JavaScript,而无需等待下一个版本的 JavaScript。

\n\n

...

\n\n
class Greeter {\n    greeting: string;\n    constructor(message: string) {\n        this.greeting = message;\n    }\n    greet() {\n        return "Hello, " + this.greeting;\n    }\n}\n\nlet greeter = new Greeter("world");\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您之前使用过 C# 或 Java,那么该语法应该看起来很熟悉。我们声明一个新类 Greeter。该类具有三个成员:一个名为greeting 的属性、一个构造函数和一个greet 方法。

\n
\n\n

[来源]

\n