Đối tượng JavaScript
Trong JavaScript, đối tượng là vua. Nếu bạn hiểu các đối tượng, bạn sẽ hiểu JavaScript.
Trong JavaScript, hầu hết "mọi thứ" đều là đối tượng.
- Booleans có thể là đối tượng (nếu được xác định bằng từ khóa
new
) - Các số có thể là đối tượng (nếu được xác định bằng từ khóa
new
) - Chuỗi có thể là đối tượng (nếu được xác định bằng từ khóa
new
) - Ngày tháng 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
- 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ừ giá trị gốc, đều là đối tượng.
Nguyên thủy JavaScript
Giá trị nguyên thủy là giá trị không có thuộc tính hoặc phương thức.
3,14 là giá trị nguyên thủy
Kiểu dữ liệu nguyên thủy là dữ liệu có giá trị nguyên thủy.
JavaScript định nghĩa 7 loại kiểu dữ liệu nguyên thủy:
Ví dụ
-
string
-
number
-
boolean
-
null
-
undefined
-
symbol
-
bigint
bất biến
Các giá trị nguyên thủy là bất biến (chúng được mã hóa cứng và không thể thay đổi).
nếu x = 3,14 thì bạn có thể thay đổi giá trị của x, nhưng bạn không thể thay đổi giá trị của 3,14.
Giá trị | Kiểu | Bình luận |
---|---|---|
"Xin chào" | sợi dây | "Xin chào" luôn là "Xin chào" |
3.14 | con số | 3,14 luôn là 3,14 |
ĐÚNG VẬY | boolean | đúng luôn luôn đúng |
SAI | boolean | sai luôn là sai |
vô giá trị | vô giá trị (đối tượng) | null luôn là null |
không xác định | không xác định | không xác định luôn luôn không xác định |
Đối tượng là biến
Các biến JavaScript có thể chứa các giá trị đơn:
Các biến JavaScript cũng có thể chứa nhiều giá trị.
Các đối tượng cũng là các 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 phân tách bằng dấu hai chấm).
Đối tượng JavaScript là tập hợp các giá trị được đặt tên
Thực tế phổ biến là khai báo các đối tượng bằng từ khóa const
.
Thuộc tính đối tượng
Các giá trị được đặt tên trong đối tượng JavaScript được gọi là thuộc tính .
Tài sản | Giá trị |
---|---|
tên đầu tiên | John |
họ | Nai |
tuổi | 50 |
màu mắt | màu xanh da trời |
Các đối tượng được viết dưới dạng cặp giá trị tên tương tự như:
- Mảng kết hợp trong PHP
- Từ điển trong Python
- Bảng băm trong C
- Bản đồ băm trong Java
- Băm trong Ruby và Perl
Phương thức đối tượng
Phương thức là những hành động có thể được thực hiện trên đối tượng.
Thuộc tính đối tượng có thể là cả giá trị nguyên thủy, đối tượng khác và hàm.
Một phương thức đối tượng là một thuộc tính đối tượng chứa định nghĩa hàm .
Tài sản | Giá trị |
---|---|
tên đầu tiên | John |
họ | Nai |
tuổi | 50 |
màu mắt | màu xanh da trời |
Họ và tên | function() {return this.firstName + " " + this.lastName;} |
Đối tượng JavaScript là nơi chứa các giá trị được đặt tên, được gọi là thuộc tính và phương thức.
Bạn sẽ tìm hiểu thêm về các phương pháp trong các chương tiếp theo.
Tạo một đối tượng 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 đố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 hàm tạo đối tượng, sau đó tạo các đối tượng thuộc 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 đối tượng theo nghĩa đen
Đây là cách dễ nhất để tạo Đối tượng JavaScript.
Bằng cách sử dụng một đối tượng theo nghĩa đen, bạn vừa xác định vừa tạo một đối tượng trong một câu lệnh.
Một đối tượng bằng chữ là danh sách các cặp tên:giá trị (như tuổi: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:
Dấu cách và ngắt dòng không quan trọng. Một định nghĩa đối tượng có thể trải dài trên nhiều dòng:
Ví dụ
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Hãy tự mình thử »Ví dụ này tạo một đối tượng JavaScript trống và sau đó thêm 4 thuộc tính:
Ví dụ
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Hãy tự mình thử »Sử dụng từ khóa JavaScript mới
Ví dụ sau tạo một đối tượng JavaScript mới bằng cách sử dụng new Object()
và 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";
Hãy tự mình thử »Các ví dụ trên thực hiện chính xác như nhau.
Nhưng không cần sử dụng new Object()
.
Để dễ đọc, đơn giản và tốc độ thực thi, hãy 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: Chúng được xử lý theo tham chiếu chứ không phải theo giá trị.
Nếu người là một đối tượng, câu lệnh sau sẽ không tạo ra một bản sao của người:
const x = person; // Will not create a copy of person.
Đối tượng x không phải là bản sao của người. Đó là con người. Cả x và người đều là cùng một đối tượng.
Mọi thay đổi đối với x cũng sẽ thay đổi người, vì x và người 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; // Will change both x.age and person.age
Hãy tự mình thử »