Xin chào mọi người 😀 mình la anonymous-4, trong bài viết này chúng ta sẽ tìm hiểu về kiểu dữ liệu đối tượng trong javascript là gì ? Tại sao phải sử dụng ? Và sử dụng như thế nào ? Những câu hỏi tuy cũ mà mới không bao giờ hết thời :D, chỉ cần trả lời được bộ ba câu hỏi này bạn đã có cả bầu trời trong tay. Không lan man nữa mình sẽ đi luôn vào vấn đề.
Đối tượng trong javascript là gì ?
Đối tượng (Object) chính là vật thể. Trong thế giới thực, trái ngược với thế giới ảo và thế giới siêu thực của lập trình máy tính, quả bóng, cái bàn, xe ô tô đều là đối tượng. Đối tượng có những đặc điểm có thể mô tả, bạn có thể tương tác với nó và nó hoạt động theo một cách thức nhất định. Đối tượng trong phương thức lập trình hướng đối tượng là sự kết hợp đoạn mã và dữ liệu để biểu diễn các đặc điểm và phương thức theo cách thức tương tự.
Trên là khái niệm của người ta, mình thì không dài dòng đến vậy 😀 một đối tượng sẽ gồm 2 thành phần:
- Thuộc tính
- Phương thức
Ví dụ đơn giản:
Đối tượng: con mèo
Thuộc tính:
- mèo.name: Rengar
- mèo.size: 45
- mèo.color: trắng đen
Phương thức:
- mèo.run();
- mèo.talk();
- mèo.sleep();
Đấy mình đã mô tả đối tượng con mèo gồm các thuộc tính và các phương thức của nó.
Thuộc tính:
Đối tượng có các thuộc tính (property) – xác định các đặc tính của nó. Ví dụ, trên thực tế, con mèo có thuộc tính màu sắc – nó có thể đỏ, trắng hay nhiều màu. Nó cũng có thuộc tính về kích cỡ – nhỏ như con gà hoặc lớn như con vịt. Những thuộc tính này có thể biểu diễn như sau:
mèo.color
mèo.size
Phương thức:
Không chỉ có thuộc tính, đối tượng còn có cả phương thức. Phương thức (method) định nghĩa cách thức hoạt động của đối tượng. Một con mèo có thể có phương thức chạy, phương thức này tính toán con mèo sẽ chạy được bao xa. Về lý thuyết, không phải tất cả các đối tượng đều có phương thức hay thuộc tính, tuy vậy trên thực tế hầu hết các đối tượng đều có ít nhất một phương thức hay một thuộc tính. Mỗi phương thức sẽ là một hàm.
mèo.run = function(){ console.log('gogogogo'); }
Tại sao phải sử dụng đối tượng trong javascript ?
Vẫn là ví dụ con mèo Rengar ở trên để miêu tả nó như bình thường chúng ta sẽ khai báo các biến mèo_name, mèo_size, mèo_color và phải khởi tạo thêm các hàm run(), sleep(), … Làm thế này cũng chấp nhận được, nhưng nếu bạn phải mô tả thêm mèo MiuMiu, mèo Mun nữa thì làm sao ? Đây chính là vấn đề :D. Thay vào đó chúng ta chỉ tạo một đối tượng mèo là được rồi. Thực ra khởi tạo đối tượng mèo bạn cũng phải khai báo các thuộc tính và phương thức của con mèo cơ mà từ đối tượng con mèo đã khởi tạo bạn có thế dùng cho mèo Rengar, mèo MiuMiu, mèo Mun, … Dùng cho cả họ nhà mèo cũng được.
Khởi Tạo đối tượng:
Có hai cách để tạo đối tượng trong JavaScript:
Sử dụng từ khóa:var meo = new Object;
Hoặc sử dụng dấu ngoặc nhọn:var meo = {};
Cả hai cách đều cho những kết quả giống nhau. Vì vậy, việc sử dụng cách thức nào phụ thuộc vào sở thích cá nhân của bạn.
Thêm thuộc tính cho đối tượng:
Sau khi tạo xong đối tượng, bạn cần gán thuộc tính và phương thức cho đối tượng. Nếu như chỉ có một đối tượng meo, bạn có thể trực tiếp gán thuộc tính cho nó:meo.name = "MiuMiu";
meo.size = 45;
meo.run = function(){ };
Truy xuất thuộc tính và phương thức của đối tượng:
Truy cập thuộc tính:
tên-đối-tượng.thuộc-tính
hoặc
tên-đối-tượng["thuộc-tính"]
Truy cập phương thức:
tên-đối-tượng.phương-thức()
Ví dụ:
VD1: var meo = { name: "MiuMiu", size: 45, color: "đen trắng" run: function(){console.log("Miu đang chạy");}, sleep: function(){console.log("Miu đang ngủ");} }; // Khởi tạo đối tượng meo console.log(meo.name); //Hiển thị giá trị ra màn hình console thuộc tính name của meo console.log(meo["size"]); //Hiển thị giá trị ra màn hình console thuộc tính size của meo meo.run(); //Gọi phương thức run của đối tượng meo VD2: var meo = new Object; meo.name = "Mun"; meo.run = function(){ console.log("Mun đang chạy"); //Khởi tạo đối tượng meo gồm thuộc tính name và phương thức run console.log(meo.name); //Hiển thị giá trị ra màn hình console thuộc tính name của meo meo.run(); //Gọi phương thức run của đối tượng meo
Ok ở 2 ví dụ trên mình đã khởi tạo đối tượng meo bằng 2 cách và truy xuất các thuộc tính và phương thức của đối tượng meo.
Chú ý: Không khai báo Strings, Numbers, và Booleans thành Objects !!!
Qua bài viết này chúng ta cần hiểu được đối tượng là gì ? Cách khởi tạo đối tượng và truy xuất các thuộc tính, phương thức của đối tượng. Nếu chưa được thì xem lại bài viết nhé :v, mình xin được kết thúc bài viết tại đây.
Xem bài viết tiếp theo tại đây.
Để lại một bình luận