đối tượng javascript

Trong JavaScript, các đối tượng là vua. Nếu chúng ta hiểu các đối tượng, chúng ta sẽ hiểu JavaScript.

Trong JavaScript, gần như "mọi thứ" là một đối tượng.

  • Boolean có thể là các đối tượng (nếu được định nghĩa bằng từ khóa new)
  • Các số có thể là các đối tượng (nếu được định nghĩa bằng từ khóa new)
  • Chuỗi có thể là đối tượng (nếu được định nghĩa bằng từ khóa new)
  • 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
  • Đối tượng luôn là đối tượng

Tất cả các giá trị JavaScript, ngoại trừ các giá trị nguyên thủy ban đầu, đều là các đối tượng.

Giá trị nguyên thủy javascript


Một giá trị nguyên thủy là một giá trị mà không có thuộc tính hoặc phương thức.

Một kiểu dữ liệu cơ bản là dữ liệu mà nó có một giá trị nguyên thủy.

JavaScript định nghĩa 5 kiểu kiểu dữ liệu nguyên thủy.

  • string
  • number
  • boolean
  • null
  • undefined

Các giá trị nguyên thủy là bất biến (chúng được mã hóa cứng và do đó không thể thay đổi).

Nếu x = 3,14, chúng ta có thể thay đổi giá trị của x. Nhưng chúng ta không thể thay đổi giá trị của 3,14.
Giá trị Kiểu dữ liệu Ghi chú
"Hello" string "Hello" thì luôn là "Hello"
3.14 number 3.14 thì luôn là 3.14
true boolean true luôn là true
false boolean false luôn là false
null null (object) null luôn là null
undefined undefined undefined luôn là undefined

Đối tượng là các biến


Các biến JavaScript có thể chứa các giá trị đơn lẻ.

Ví dụ

var x = "John Doe";

Xem kết quả

Các biến JavaScript cũng có thể chứa nhiều giá trị.

Đối tượng cũng là biến. Nhưng các đối tượng có thể chứa nhiều giá trị.

Các giá trị đối tượng được viết dưới dạng cặp name: value (tên và giá trị cách nhau bằng dấu hai chấm).

Ví dụ

const person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"    
} 

Xem kết quả

Một đối tượng JavaScript là một tập hợp các giá trị được đặt tên.

Chúng ta nên khai báo các đối tượng với từ khóa const.

Thuộc tính đối tượng


Các giá trị được đặt tên, trong các đối tượng JavaScript, được gọi là thuộc tính.

Thuộc tính Giá trị
firstName John
lastName Doe
age 50
eyeColor blue

Các đối tượng được viết dưới dạng cặp giá trị tên tương tự như:

  • Mảng liên kết trong PHP
  • Từ điển bằng Python
  • Bảng chia nhỏ trong C
  • Bản đồ trong Java
  • Hàm chia nhỏ trong Ruby và Perl

Phương thức đối tượng


Phương thức là các hành động có thể được thực hiện trên các đối tượng.

Thuộc tính đối tượng có thể là cả giá trị nguyên thủy, các đối tượng khác và các hàm.

Một phương thức đối tượng là một thuộc tính đối tượng chứa một định nghĩa hàm.

Thuộc tính Giá trị
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}
Các đối tượng JavaScript là vùng chứa các giá trị được đặt tên, được gọi là thuộc tính và phương thức.

Chúng ta sẽ tìm hiểu thêm về các phương thức trong các bài tiếp theo.

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


Với JavaScript, chúng ta 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().

Sử dụng một Object Literal


Đây là cách dễ nhất để tạo một Đối tượng JavaScript.

Sử dụng một đối tượng theo nghĩa đen, nghĩa là chúng ta vừa định nghĩa và tạo một đối tượng trong một câu lệnh.

Một đối tượng là một danh sách các cặp name: value (như age: 50) bên trong dấu ngoặc nhọn {}.

Ví dụ sau tạo một đối tượng JavaScript mới với bốn thuộc tính.

Ví dụ

const person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"    
} 

Xem kết quả

Dấu cách và ngắt dòng không quan trọng. Một định nghĩa đối tượng có thể kéo dài nhiều dòng.

Ví dụ sau tạo một đối tượng JavaScript trống, sau đó thêm 4 thuộc tính.

Ví dụ

const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Xem kết quả

Sử dụng từ khóa JavaScript new


Ví dụ sau tạo một đối tượng JavaScript mới bằng cách sử dụng new Object(), sau đó thêm 4 thuộc tính.

Ví dụ

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Xem kết quả

Các ví dụ trên làm hoàn toàn tương tự nhau.
Nhưng chúng ta không có nhu cầu sử dụng new Object().
Để có thể đọc mã được, tính đơn giản và tốc độ thực thi, chúng ta nên sử dụng phương thức đối tượng theo nghĩa đen.

Các đối tượng JavaScript có thể thay đổi


Các đối tượng có thể thay đổi, bằng cách sử dụng tham chiếu, không phải thay đổi theo giá trị.

Nếu person là một đối tượng, câu lệnh sau sẽ không tạo bản sao của person.

const x = person; // Không thể tạo bản copy của person

Đối tượng x không phải là bản sao của person. Nó là person. Cả xperson đều là cùng một đối tượng.

Bất kỳ thay đổi nào đối với x cũng sẽ thay đổi person, bởi vì xperson là cùng một đối tượng.

Ví dụ

const person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"    
}
const x = person;
x.age = 10;

Xem kết quả