迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

在 ES6 中使用 Node JS 创建和导出类

作者:迹忆客 最近更新:2023/03/06 浏览次数:

 是在 Javascript 中创建对象的蓝图。在新的语言规范 ECMAScript 2015 中,使用关键字 class 和 constructor() 方法创建类。

在这些新开发之前,开发人员依靠构造函数来创建面向对象的设计。对于尝试学习该语言的新开发人员来说,这通常是一个障碍。

除此之外,虽然在这些新开发中没有引入新概念,但像开发人员在其他语言中创建类的能力使我们拥有更优雅的语法。

除此之外,新手开发人员可以轻松地将这种新语法与其他语言(例如 java)联系起来。在这种新的 ES6 语法中有两种创建类的方法。


使用 Node JS 在 ES6 中创建 类

你可以选择创建类声明或类表达式。这符合带有函数表达式和函数声明的常规 javascript 函数。

使用 constructor() 方法在 ES6 中使用 Node JS 创建类因此,类通常被称为特殊功能。我们将使用关键字 class 和 constructor 方法来创建类声明,如下所示。

class Employee {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    getName() {
        return this.name;

    }
}

在上面的示例中,我们创建了一个名为 Employee 的类。我们还使用 constructor() 方法初始化了实例的属性。

实例化类的对象时会自动调用此方法。根据 ES6 语法,我们在一个类中只能有一个构造方法,并且类应该总是在被调用之前被声明。

我们可以创建一个使用类名自动调用 constructor 方法的对象。使用这个对象,我们还可以调用在类中创建的方法。

class Employee {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    getName() {
        return this.name;
    }
    getAge() {
        return this.age;
    }
}
 
let obj = new Employee("Isaac Tonyloi", 21);
console.log(obj.getName());
console.log(obj.getAge());

输出结果如下:

Isaac Tonyloi
21

或者,我们也可以将类定义为表达式。尽管类定义的大部分结构保持不变,但我们可以选择使用命名或未命名的类表达式。

class 表达式的一个优点是我们可以将类作为参数传递给函数,因为类是一等公民。

这是我们如何将上述类声明重写为类表达式的方法。在这种情况下,类表达式是未命名。

let Employee = class {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    getName() {
        return this.name;
    }
    getAge() {
        return this.age;
    }
}
 
let obj = new Employee("Isaac Tonyloi", 21);
console.log(obj.getName());
console.log(obj.getAge());

输出结果如下:

Isaac Tonyloi
21

在上面的示例中,你会注意到创建类表达式和类声明时创建对象是相同的。

类表达式在创建之前不能被调用,就像类声明一样。可以像 Node JS 中的任何其他模块一样导入类。

使用 Python 模块的一种常用方法是使用 module.export 方法导出一个模块,并使用 require() 方法将其导入另一个模块。

使用 module.export 方法在 ES6 中使用 Node JS 导出模块 module.export 方法用于在服务器端导出模块,并以 CommonJS 格式提供。

在下面的示例中,我们使用我们在上一个示例中刚刚创建的类表达式作为我们要导出的模块。

但是,我们将首先创建一个简单的 Node JS 应用程序,其中包含一个包含此类定义的文件和另一个我们想要导出该类的文件。

index.js

let Employee =class {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    getName() {
        return this.name;
    }
    getAge() {
        return this.age;
    }
}
 
module.exports = Employee;

server.js

let Employee = require('./index.js');
 
let obj = new Employee("Isaac Tonyloi", 21);
console.log(obj.getName());
console.log(obj.getAge());

在上面的示例中,我们使用 module.exports 方法发布了在 index.js 中定义的类表达式。在名为 server.js 的文件中,我们使用 require() 方法将 index.js 文件作为模块导入。

现在我们已经在 server.js 中提供了类定义,我们为 Employee 创建了一个实例并使用它来访问它的方法。

你还可以执行其他操作,例如使用相同的方法在不同的文件中扩展类。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:155 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:137 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便