Javascript Object là gì mà khó hiểu thế?
Dạo này trên group facebook có rất nhiều bạn hỏi về Object trong Javascript, có bạn hỏi nó có ứng dụng gì trong thực tế không, có bạn thì lại bảo object qua khó để tìm hiểu. Ok mọi thứ rất đơn giản và giải đáp thông qua kiến thức về lập trình hướng đối tượng nhé, nên trước tiên hãy đọc bài đó để hiểu sơ lược. Thực tế đối tượng giúp chương trình nhìn sáng hơn, bạn sẽ không phải thấy một mớ hổn độn bên trong một chương trình được viết bằng Javascript.

Lưu ý: Bài này mang tính chất giải trí nên không sử dụng định nghĩa đúng, có nghĩa là mình sử dụng ngôn từ bình thường để giải thích.
1. Hiểu cơ bản Object là gom nhóm
Phần này sẽ gây ra nhiều tranh cãi bởi câu nói "object là gom nhóm" là hoàn toàn sai nhé các bạn, tuy nhiên vì muốn các bạn dễ tiếp thu thì mình xin phép được tự tin phát biểu câu đó.
Gom nhóm biến
Trước đây khi khai báo danh sách các biến thì ta làm như sau:
Bài viết này được đăng tại [free tuts .net]
// Khai báo var name = "Nguyễn Văn Cường"; var email = "[email protected]"; var blog = "freetuts.net"; // Sử dụng console.log(name); console.log(email); console.log(blog);
Nhưng nếu sử dụng object thì ta sẽ gom nhóm lại và truy xuất các biến thông qua dấu chấm ..
// Khai báo
var profile = {
name : "Nguyễn Văn Cường",
email : "[email protected]",
blog : "freetuts.net"
};
// Sử dụng
console.log(profile.name);
console.log(profile.email);
console.log(profile.blog);Gom nhóm hàm
Và dưới đây là cách khai báo nhiều hàm.
// Khai báo
function a(){
}
function b(){
}
// Sử dụng
a();
b();
Nhưng sử dụng object thì ta làm như sau:
var obj = {
a : function(){
},
b : function(){
}
};
// Sử dụng
obj.a();
obj.b();Các bạn hãy so sánh hai chương trình để suy luận ra sự khác nhau nhé :)
2. Chương trình không sử dụng Object
Giả sử mình cần viết một chương trình quản lý học sinh, lúc này mình sẽ định nghĩa một số hàm như sau:
function addStudent(id, name){
document.write("Thêm sinh viên " + name + " có ID là " + id);
}
function removeStudent(id){
document.write("Xóa sinh viên có ID là " + id);
}
function editStudent(id, name)
{
document.write("Sửa tên sinh viên có ID là " + id + " sang tên " + name);
}Lúc này bạn sẽ sử dụng như sau:
// Thêm
addStudent("1", "Nguyễn Văn Cường");
// Sửa
editStudent("1", "Nguyễn Văn Cường - Freetuts.net");
// Xóa
removeStudent("1");Nhìn có vẻ rất gọn phải không các bạn, tuy nhiên sẽ không chuyên nghiệp bằng chương trình dưới đây.
3. Chương trình có sử dụng Object
Nếu bạn để kỹ thì sẽ thấy tất cả các thao tác thêm, xóa, sửa đều tác động đến đối tượng sinh viên phải không nhỉ? Chính xác là như vậy, khi quan lý đối tượng sinh viên này chúng ta hay thực hiện các thao tác đó là thêm, xóa và sửa sinh viên, ba thao tác này chính là ba hàm mà mình đã định nghĩa ở trên. Mỗi sinh viên sẽ quản lý ID và tên của sinh viên đó, có nghĩa khi thực hiện ba thao tác đó ta phải truyền các thông tin vào ở dạng tham số của hàm..
Xét chương trình dưới đây:
var Student = {
id : "",
name : "",
add : function(){
document.write("Thêm sinh viên " + this.name + " có ID là " + this.id);
},
remove : function(){
document.write("Xóa sinh viên có ID là " + this.id);
},
edit : function(){
document.write("Sửa tên sinh viên có ID là " + this.id + " sang tên " + this.name);
}
};
// Gán gái trị cho các thuộc tính
Student.name = "Nguyễn Văn Cường";
Student.id = "1";
// Thực hiện một số hành động
Student.add();
Student.edit();
Student.remove();Cả hai chương trình đều có chức năng tương tự nhau, tuy nhiên nếu xét về code thì chương trình này dài hơn ở trên, nhưng xét về tính hiệu quả trong việc quản lý code thì chương trình trên không bằng.
4. Lời kết
Như vậy object chính là cách chúng ta sử dụng lập trình hướng đối tượng trong Javascript. Các bạn phải hiểu và sử dụng thành thạo Object bởi vì hầu hết cá JS Framework hiện nay đều sử dụng Object làm nền tảng.
Qua bài này mình chỉ muốn trình bày sơ lược qua về Object trong Javascript, và vì mình có trình bày nó ở trong series học Javascript căn bản rồi nên mình không muốn giải thích gì thêm, nếu bạn vẫn chưa hiểu thì hãy đến series đó để tìm hiểu nhé.

Các hàm xử lý chuỗi trong Javascript (cắt / tách / nối chuỗi ..)
Chia lấy phần dư / chia lấy phần nguyên trong javascript
Các cách khai báo biến trong Javascript
Các sự kiện (Event) trong Javascript
Hướng tạo thanh search bar bằng CSS
Hàm array.slice() trong Javascript
Tính tổng hai số bằng Javascript (cộng hai số)
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng