📜  Class.method 和 Class.prototype.method 的区别

📅  最后修改于: 2022-05-13 01:56:55.872000             🧑  作者: Mango

Class.method 和 Class.prototype.method 的区别

JavaScript 是一种面向对象的编程语言,但与它的同类(基于类)不同,JavaScript 是一种基于原型的语言。这意味着在 JavaScript 中,您可以创建一个对象(原型对象)作为新对象的模板。这些新对象可以在创建它们时或在运行时提供新属性。

有两种方法可以向对象添加新方法。

  1. Class.method: Class.method是静态的,与类的任何实例都没有关系。必须使用类名调用类方法。内存中仅存在此函数的一个实例。

    例子:

    Javascript


    Javascript


    Javascript



    输出:
    Login successful
  2. Class.prototype.method:创建与对象实例相关的Class.prototype.method 。使用对象实例名称调用它。类的每个实例都有自己的这个方法的副本。

    例子:

    Javascript

    
    


    输出:
    Login successful
    Welcome GFG 

    上面的代码可以使用 ECMAScript 2015 中引入的 JavaScript 类编写。

    Javascript

    
    


    输出:
    Login successful
    Welcome GFG 

    JavaScript 类是 JavaScript 基于原型的方法的语法糖。