在 ES6 中使用 Node JS 建立和匯出類
-
使用 Node JS 在
ES6
中建立類
-
使用
constructor()
方法在 ES6 中使用 Node JS 建立類 -
使用
module.export
方法在 ES6 中使用 Node JS 匯出模組
類
是在 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 應用程式,其中包含一個包含此類定義的檔案和另一個我們想要匯出該類的檔案。
索引.js
let Employee = class {
constructor(name, age) {
this.name = name;
this.age = age;
}
getName() {
return this.name;
}
getAge() {
return this.age;
}
}
module.exports = Employee;
伺服器.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
檔案作為模組匯入。
現在我們已經在 sever.js
中提供了類定義,我們為 Employee
建立了一個例項並使用它來訪問它的方法。
你還可以執行其他操作,例如使用相同的方法在不同的檔案中擴充套件類。
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn