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

Trước tiên trong thực tế, đối tượng là một thực thể như : sinh viên, xe máy, máy tính, … Trong Js hay trong lập trình cũng vậy. Đối tượng là một khái niệm trừu tượng mà trong đó ta có thể thêm các thuộc tính hay phương thức cho đối tượng để thể hiện nó.

Nghe có vẻ hơi khó hiểu vì nó khá là trừu tượng. Nhưng ta có thể hiểu một cách đơn giản hơn thế này nhé. Một đối tượng là một tập hợp có liên quan với nhau giữa dữ liệu và\hoặc các chức năng (việc này thường được thể hiện với các biến và hàm – chúng được gọi là các thuộc tính và phương thức khi được đưa và trong các đối tượng) . 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.

Ví dụ: một ví dụ đơn giản như này nhé

var Car = new Object();

2. Mọi thứ trong JavaScript đều là đối tượng?

Trong việc học Js, ta có thể coi việc học đối tượng là “trùm”. Vì nếu bạn hiểu được hết về được đối tượng bạn sẽ hiểu hết về Js. Vì sao vì trong Js mọi thứ đều là Objects. Ví dụ như

  • Ngày luôn luôn là đối tượng
  • Toán học luôn là đối tượng
  • Biểu thức chính quy luôn là đối tượng
  • Mảng luôn là đối tượng
  • Các hàm luôn là đối tượng
  • Boolean, số hay chuỗi đều có thể là các đối tượng (nếu được định nghĩa bằng từ khóa new)

Ví dụ: Đối tượng là các biến

<script>
let person = {
  firstName : "Lập Trình",
  lastName  : "Từ đầu",
  age     : 2,
  eyeColor  : "blue"
};

document.write(person.firstName + " " + person.lastName);
</script>

3. Thuộc tính của đối tượng trong JavaScript

Các giá trị được đặt tên trong các đối tượng JavaScript, được gọi là thuộc tính . Hay nó là những đặc điểm (có thể hiểu là biến) cần lưu trữ trong một đối tượng.

Ví dụ như trong đối tượng PHP sẽ có những thuộc tính sau:

  • PHP căn bản
  • PHP nâng cao
  • PHP hướng đối tượng
  • Cơ sở dữ liệu MySQL

Lúc này ta có thể khai báo bằng một trong 3 cách sau:

  • Sử dụng từ khóa new Object()
// Khởi tạo
var Comment = new Object();
 
// Thêm thuộc tính
Comment.title = '';
Comment.content = '';
Comment.fullname = '';
Comment.email = '';
  • Sử dụng {} và thêm thuộc tính sau đó
// Khởi tạo
var Comment = {};
 
// Thêm thuộc tính
Comment.title = '';
Comment.content = '';
Comment.fullname = '';
Comment.email = '';
  • Sử dụng {} và thêm thuộc tính ngay lúc khai báo
// Khởi tạo
var Comment = {
    title : "",
    content : "",
    fullname : "",
    email : ""
};

Thông thường ta sẽ sử dụng cách cuối cùng vì nó gọn gàng, mạch lạc và giúp ta dễ thêm sửa xóa hơn.

4. Phương thức của đối tượng trong JavaScript

Phương thức là các hành động có thể được thực hiện trên các đối tượng. Ví dụ như trong đối tượng PHP thì ta có một số phương thức như:

  • Thêm
  • Sửa
  • Xóa

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 cơ bản hướng thủ tục thì chúng ta gọi nó là hàm

Ta cũng có 3 cách khai báo tương tự như thuộc tính

  • Sử dụng từ khóa new Object()
// Khởi tạo
var Car = new Object();
// Thêm phương thức
Car.addCar = function(){
  console.log("Chức năng này thêm ô tô");
};
// Thêm phương thức
Car.deleteCar = function(){
    console.log("Chức năng này xóa ô tô");
};
  • Sử dụng {} và thêm phương thức sau đó
// Khởi tạo
var Car = {};
// Thêm phương thức
Car.addCar = function(){
   console.log("Chức năng này thêm xe");
};
// Thêm phương thức
Car.deleteCar = function(){
    console.log("Chức năng này xóa xe");
};
  • Sử dụng {} và thêm phương thức ngay lúc khai báo
// Khởi tạo
var Car = {
    addCar : function(){
        console.log("Chức năng thêm xe");
    },
    deleteCar : function(){
        console.log("Chức năng xóa xe");
    }
};

Cũng tương tự như thuộc tính ta cũng nên sử dụng cách cuối cùng nhé

5. Tạo một đối tượng trong JavaScript

Với JavaScript, bạn có thể xác định và tạo các đối tượng của riêng mình. Có nhiều cách khác nhau để tạo các đối tượng mới:

  • Tạo một đối tượng duy nhất, sử dụng một đối tượng theo nghĩa đen.
  • Tạo một đối tượng duy nhất, với từ khóa new.
  • Xác định một phương thức khởi tạo đối tượng, sau đó tạo các đối tượng của kiểu được xây dựng.
  • Tạo một đối tượng bằng cách sử dụng Object.create().

Ví dụ: sử dụng newObject

<script>
const person = new Object();
person.firstName = "Lập trình từ đầu";
person.lastName = "Từ đầu";
person.age = 2;
person.eyeColor = "blue"; 

document.write
(person.firstName + " đã " + person.age + " tuổi.");
</script>

Tạo một đối tượng JavaScript trống, sau đó thêm 4 thuộc tính:

<p id="demo"></p>

<script>
const person = {};
person.firstName = "Lập trình từ đầu";
person.lastName = "Từ đầu";
person.age = 2;
person.eyeColor = "blue"; 

document.getElementById("demo").innerHTML =
person.firstName + " đã " + person.age + " tuổi.";
</script>

6. Truy cập đến thuộc tính và phương thức của đối tượng

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;

Hay

TenDoiTuong['thuocTinh'];

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

TenDoiTuong.phuongThuc();