关于类和功能的澄清

首先,我很抱歉是否有关于此主题的问题,我似乎找不到答案。我只需要澄清一下,也许我遗漏了一些东西。我有点新。谢谢!

所以我有一个类和一个函数,都返回一个问候。

如果我还可以使用类的问候语方法,为什么或何时应该使用函数?

class Greeter{ 
    fullName: string;
    constructor(public firstName:string,public lastName:string) { 
        this.fullName = firstName + " " + lastName;
    }
    greetName() { 
        return "Hello," + this.fullName;
    }
}

//this function is outside of class greeter
function greeter(firstName: string,lastName: string) {
    return "Hello," + firstName + " " + lastName;
}
www4046994 回答:关于类和功能的澄清

尚未创建类greeter的对象时,应使用函数Greeter

仅在调用Greeter#greetName后才能使用函数constructor,这样将创建对象,否则它将失败。

如果让函数greeter在类之外让您感到非常困惑,可以将其放在其中,但将其标记为static函数,则可以将其称为Greeter.greeter而不创建该类的对象。

,

类内部的函数称为“方法”。这些方法与类的实例相关联,该类称为对象。通常,方法用于返回或修改对象状态。

类之外的函数通常用于执行某些操作而不改变状态。例如,他们计算出一些东西然后返回值。

正如@Rufi已经指出的那样,您只能在创建类的实例之后(通过构造函数)使用greeter方法。在这种情况下,这没有什么意义。

在您的情况下,给出的两个示例之间的区别在于,一个示例与对象的状态绑定(通过访问this.fullname),而另一个示例是纯对象(不与任何状态绑定,它仅使用给定的)参数来创建新值。

我希望这会有所帮助!

本文链接:https://www.f2er.com/3167151.html

大家都在问