Phương thức lớp JavaScript
Sử dụng từ khóa “class” để tạo một lớp. Một lớp đóng gói dữ liệu và các hàm điều khiển dữ liệu.
Lớp trước ES6 được xem xét lại
function Member(name) {
this.name = name;
}
Member.prototype.fetchMemberName = function () {
return this.name;
};
var Mayur = new Member("Mayur Dhameliya");
console.log(Mayur.fetchMemberName());
Kết quả
Mayur Dhameliya
Trước hết, tạo Member như một hàm tạo có một thuộc tính tên gọi là “name”. Hàm fetchMemberName() được gán vào nguyên mẫu để có thể được chia sẻ bởi tất cả các trường hợp của kiểu Member.
Sau đó, tạo một trường hợp mới của kiểu Member bằng cách sử dụng toán tử “new”. Do đó, đối tượng Mayur cũng là một trường hợp của kiểu Member cũng như kiểu Object thông qua kế thừa nguyên mẫu.
Các câu lệnh dưới đây sử dụng toán tử “instanceof” để kiểm tra xem Mayur có phải là một trường hợp của kiểu Member cũng như kiểu Object không:
console.log(Mayur instanceof Member); // true
console.log(Mayur instanceof Object); // true
Khai báo lớp ES6
class Member {
constructor(name) {
this.name = name;
}
fetchMemberName() {
return this.name;
}
}
Lớp Member này hoạt động giống như kiểu Member trong ví dụ trước. Tuy nhiên, thay vì sử dụng mẫu constructor/prototype, nó sử dụng từ khóa “class”.
Trong lớp Member, constructor() là nơi bạn có thể khởi tạo các thuộc tính của một trường hợp. JavaScript tự động gọi phương thức constructor() khi bạn khởi tạo một đối tượng của lớp.
Dòng dưới đây tạo một đối tượng Member mới, mà sẽ tự động gọi constructor() của lớp Member:
let Mayur = new Member("Mayur Dhameliya");
Phương thức fetchMemberName() được gọi là một phương thức của lớp Member. Giống như một hàm tạo, bạn có thể gọi các phương thức của một lớp bằng cú pháp dưới đây:
objectName.methodName(args)
Ví dụ:
let name = Mayur.fetchMemberName();
console.log(name); // "Mayur Dhameliya"
console.log(typeof Member); // function
Đối tượng Mayur cũng là một trường hợp của kiểu Member cũng như kiểu Object:
console.log(Mayur instanceof Member); // true
console.log(Mayur instanceof Object); // true
Tôi hy vọng bạn đã hiểu về phương thức lớp JavaScript.
- Bài đăng trên blog này được xuất bản ban đầu tại: https://www.pakainfo.com