Đối tượng trong JavaScript

Ngày đăng: 25/09/2020   -    Cập nhật: 25/09/2020


Hôm nay mình sẽ giới thiệu một khái niệm tương đối mới đó chính là Đối tượng (Object) trong JavaScript. Nó là cốt lõi của lập trình hướng đối tượng. Cùng theo dõi bài viết với mình nào.

Đối tượng trong JavaScript

Đối tượng trong JavaScript
 

1. Đối tượng là gì?


Trong thực tế đời sống, đối tượng là một thực thể, ví dụ: Sinh viên, xe máy, điện thoại, laptop, …..

Ví dụ:


  • Một đối tượng sinh viên ta sẽ quan tâm đến những thông tin như là: Họ tên, năm sinh, giới tính, mã số sinh viên, quê quán,… và đối với những sinh viên khác nhau thì sẽ có những giá trị khác nhau.
  • Ngoài những thông số thì ta cũng quan tâm đến những hoạt động của đối tượng sinh viên: học bài, ngủ, xem phim, tập thể dục, …. Và đối với những sinh viên khác nhau thì hành động này sẽ thực hiện vào những thời điểm khác nhau.

Tóm lại:

  • Đối tượng là một thực thể
  • Một đối tượng sẽ có các thông tin và hành động
  • Các đối tượng có thể có thuộc tính giống nhau nhưng giá trị lại khác nhau
  • Các đối tượng khác nhau sẽ thực hiện những hành động vào những thời điểm khác nhau.

2. Đối tượng trong JavaScript là gì?


Trong Javascript (hay nhiều ngôn ngữ lập trình khác), đối tượng là các thực thể được mô hình hóa từ thế giới thực, chuyển đổi vào trong các chương trình.

JavaScript cung cấp sẵn một số đối tượng như Date, Number, Boolean,….

Ngoài ra, bạn có thể tự mình tạo ra các đối tượng khác tùy theo yêu cầu của ứng dụng.

Đối tượng, về cơ bản sẽ có tên, thuộc tính (tương ứng với thông tin) và phương thức (hành động).



2.1. Thuộc tính của đối tượng


Thuộc tính là những đặc điểm (trong lập trình có thể hiểu là các biến) cần lưu trữ trong một đối tượng. Ví dụ với đối tượng SinhVien thì có một số thuộc tính sau:

  • Tên Sinh viên: name
  • Năm sinh: namSinh
  • Giới tính: gioiTinh
  • Mã số sinh viên: MSSV

2.2. Phương thức của đối tượng


Phương thức là những hành động (có thể hiểu là hàm) của đối tượng.

Ví dụ trong đối tượng SinhVien thì mình cần hai phương thức là:


  • hocBai()
  • xemPhim()
  • tapTheDuc()

Trong lập trình hướng đối tượng thì chúng ta gọi những hành động này là Phương thức, còn trong lập trình hướng thủ tục thì chúng ta gọi nó là hàm (Bạn cũng sẽ được học sau).

Nói chung chúng là giống nhau chỉ là một cái thuộc về đối tượng cụ thể, còn cái kia thì không.


2.3. Cách khai báo và khởi tạo đối tượng trong JavaScript


Nếu bạn đã học qua về một ngôn ngữ lập trình hướng đối tượng khác thì những khái niệm này có lẽ rất đơn giản. Nhưng nếu bạn chưa từng thì hãy chú ý một chút nhé.

Số lượng thuộc tính và phương thức của một đối tượng là tùy ý và tùy thuộc vào đối tượng bạn muốn tạo.

Có nghĩa là không quy định một đối tượng phải có bao nhiêu thuộc tính hay phương thức.

Bên dưới đây mình sẽ giới thiệu cho bạn 3 cách khai báo một đối tượng trong JavaScript:


Cách 1: Khai báo đơn giản sử dụng từ khóa: new Object()



Cú pháp khởi tạo đối tượng:


var TenDoiTuong = new Object();
 

Đây là cách tạo thuộc tính và phương thức cho đối tượng:


// Khởi tạo thuộc tính
TenDoiTuong.thuocTinh_1 = giaTri1;
TenDoiTuong.thuocTinh_2 = giaTri2;
TenDoiTuong.thuocTinh_3 = giaTri3;
TenDoiTuong.thuocTinh_n = giaTri4;

//Khởi tạo phương thức
TenDoiTuong.phuongThuc_1 = function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThuc_2 = function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThuc_3 = function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThuc_n = function() {
    // Danh sách các câu lệnh của phương thức này
}
 

Cách 2: Sử dụng từ khóa {} và thêm phương thức thuộc tính lúc khai báo.


let TenDoiTuong = {
    thuocTinh1: giaTri1,
    thuocTinh2: giaTri2,
    thuocTinh3: giaTri3,
    thuocTinh4: giaTri4,
    phuongThuc1: function() {
        //Danh sách các câu lệnh của phương thức này
    },

    phuongThuc2: function() {
        //Danh sách các câu lệnh của phương thức này
    },

    phuongThuc3: function() {
        //Danh sách các câu lệnh của phương thức này
    },

    phuongThucN: function() {
        //Danh sách các câu lệnh của phương thức này
    },
};
 


Cách 3: Sử dụng ký hiệu {}, sau đó thì thêm thuộc tính và phương thức

Cú pháp thực hiện như sau:


let TenDoiTuong = {};
 

Sau đó, chúng ta tạo thuộc tính và phương thức cho đối tượng như thế này:


// Khởi tạo thuộc tính
TenDoiTuong.thuocTinh1 = giaTri1;
TenDoiTuong.thuocTinh2 = giaTri2;
TenDoiTuong.thuocTinh3 = giaTri3;
TenDoiTuong.thuocTinhN = giaTriN;

// Khởi tạo phương thức
TenDoiTuong.phuongThuc1function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThuc2function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThuc3function() {
    // Danh sách các câu lệnh của phương thức này
}
TenDoiTuong.phuongThucNfunction() {
    // Danh sách các câu lệnh của phương thức này
}
 

Trong đó:

  • TenDoiTuong: Là tên của đối tượng
  • thuocTinh1, thuocTinh2, …. Là tên các thuộc tính
  • giaTri1, giaTri2: Là các giá trị của các thuộc tính
  • phuongThuc1, phuongThuc2, …: Là tên các phương thức. Mõi phương thức là một hàm (bạn sẽ được học ở bài hàm).

Lưu ý:

  • Trong ba cách trên thì mình khuyến khích các bạn sử dụng cách thứ 2 để tạo một đối tượng, bởi vì nó thống nhất, mạch lạc sẽ dễ quản lý code và debug sau này.
  • Không khai báo lại các Object đã có sẵn trong JavaScript như Strings, Numbers, Booleans, …

Ví dụ: Khai báo một đối tượng sinh viên


let SinhVien = {
    
    // Tạo các thuộc tính
    hoTen: 'Ngô Minh Trung',
    gioiTinh: 'Nam',
    MSSV: 'B1704863',
    namSinh: '1999',

    // Tạo các phương thức
    hocBai: function() {
        console.log('Đang học bài...');
    },
    diNgu: function() {
        console.log('Đang ngủ...');
    },
    xemPhim: function() {
        console.log('Đang xem phim...');
    }
}
 

2.4. Truy cập đến thuộc tính và phương thức


Khi chúng ta đã tạo được đối tượng thì có thể sử dụng nó.

Và để sử dụng thì cần truy cập đến các thuộc tính, phương thức của nó. Cách làm như sau:

Truy cập đến thuộc tính của đối tượng:



TenDoiTuong.thuocTinh;
 

Hoặc:


TenDoiTuong['thuocTinh'];
 

Truy cập đến phương thức của đối tượng:


TenDoiTuong.phuongThuc();
 


Ví dụ: Mình đã tạo một đối tượng ở trên là SinhVien, bây giờ, mình sẽ truy cập đến thuộc tính và phương thức của nó.


// Truy cập thuộc tính của đối tượng SinhVien
console.log(SinhVien.hoTen);
console.log(SinhVien.namSinh);
// Truy cập phương thức của đối tượng SinhVien
SinhVien.diNgu();
 

Note: Mình đã sử dụng phương thức console.log() để in thông tin thuộc tính ra màn hình console.

Kết quả nhận được là:



Ngô Minh Trung
1999
Đang ngủ...
 

Ngoài việc truy cập thuộc tính và phương thức ra, bạn còn có thể chỉnh sửa chúng.

Chỉnh sửa thuộc tính:



SinhVien.namSinh = 1995;
console.log(SinhVien.namSinh);
 

Kết quả:


1995
 

Chỉnh sửa phương thức:


SinhVien.diNgu = function () {
  console.log('Đi ngủ với người yêu');
};

SinhVien.diNgu();
 

Kết quả:


Đi ngủ với người yêu
 

Cách làm này sẽ trực tiếp thay đổi phương thức của đối tượng (Bạn có thể hiểu cách làm trên là chúng ta vừa thêm một phương thức mới với tên giống như phương thức cũ)

Còn có nhiều cách làm khác.

Nhưng cứ để mọi thứ đơn giản đã. Sau này bạn sẽ được tìm hiểu sâu thêm về đối tượng trong JavaScript.


Tổng kết


Mình vừa giới thiệu các bạn cơ bản về đối tượng trong JavaScript.

Đây chỉ là những thứ cơ bản nhất để bạn bắt đầu, nhưng mình nghĩ như thế là vừa đủ với cấp độ của bạn lúc này.

Hãy đọc lại và thực hành bằng cách suy nghĩ để tạo ra một đối tượng mới gần gũi với mình nhé.

Hẹn gặp lại các bạn ở bài học tiếp theo.

> Tham khảo thêm về Object tại Mozilla.


Bình luận Facebook
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!