Đối tượng JavaScript
Đối tượng, thuộc tính và phương thức trong đời thực
Trong cuộc sống thực, một chiếc ô tô là một vật thể .
Một chiếc ô tô có các đặc tính như trọng lượng và màu sắc cũng như các phương thức như khởi động và dừng:
Sự vật | Của cải | phương pháp |
---|---|---|
xe.name = Fiat xe.model = 500 xe.trọng lượng = 850kg xe.màu = trắng | xe.start() xe.drive() xe.brake() xe.stop() |
Tất cả các ô tô đều có cùng thuộc tính , nhưng giá trị thuộc tính khác nhau giữa các ô tô.
Tất cả các ô tô đều có những phương pháp giống nhau, nhưng các phương pháp này được thực hiện vào những thời điểm khác nhau .
Đối tượng JavaScript
Bạn đã biết rằng các biến JavaScript là nơi chứa các giá trị dữ liệu.
Mã này gán một giá trị đơn giản (Fiat) cho một biến có tên car:
let car = "Fiat";
Hãy tự mình thử »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ị.
Mã này gán nhiều giá trị (Fiat, 500, màu trắng) cho một biến có tên car:
const car = {type:"Fiat", model:"500", color:"white"};
Hãy tự mình thử »Các giá trị được viết dưới dạng cặp tên:giá trị (tên và giá trị được phân tách bằng dấu hai chấm).
Thực tế phổ biến là khai báo các đối tượng bằng từ khóa const .
Tìm hiểu thêm về cách sử dụng const với các đối tượng trong chương: JS Const .
Định nghĩa đối tượng
Bạn xác định (và tạo) một đối tượng JavaScript bằng một đối tượng bằng chữ:
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ử »Thuộc tính đối tượng
Các cặp name:values trong đối tượng JavaScript được gọi là thuộc tính :
Tài sản | Giá trị tài sản |
---|---|
tên đầu tiên | John |
họ | Nai |
tuổi | 50 |
màu mắt | màu xanh da trời |
Truy cập thuộc tính đối tượng
Bạn có thể truy cập các thuộc tính đối tượng theo hai cách:
objectName.propertyName
hoặc
objectName["propertyName"]
Đối tượng JavaScript là nơi chứa các giá trị được đặt tên gọi là thuộc tính.
Phương thức đối tượng
Các đối tượng cũng có thể có các phương thức .
Phương thức là những hành động có thể được thực hiện trên đối tượng.
Các phương thức được lưu trữ trong các thuộc tính dưới dạng định nghĩa hàm .
Tài sản | Giá trị tài sản |
---|---|
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;} |
Phương thức là một hàm được lưu trữ dưới dạng một thuộc tính.
Ví dụ
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
Trong ví dụ trên, this
đề cập đến đối tượng người :
this.firstName có nghĩa là thuộc tính firstName của người .
this.lastName có nghĩa là thuộc tính LastName của người .
Cái này là cái gì ?
Trong JavaScript, từ khóa this
đề cập đến một đối tượng .
Đối tượng nào phụ thuộc vào cách this
được gọi (được sử dụng hoặc được gọi).
Từ khóa this
đề cập đến các đối tượng khác nhau tùy thuộc vào cách nó được sử dụng:
Trong một phương thức đối tượng, this đề cập đến đối tượng . |
Một mình, this đề cập đến đối tượng toàn cầu . |
Trong một hàm, this đề cập đến đối tượng toàn cục . |
Trong một hàm, ở chế độ nghiêm ngặt, this là undefined . |
Trong một sự kiện, this đề cập đến phần tử đã nhận được sự kiện. |
Các phương thức như call() , apply() và bind() có thể tham chiếu this tới bất kỳ đối tượng nào . |
Ghi chú
this
không phải là một biến. Đó là một từ khóa. Bạn không thể thay đổi giá trị của this
.Xem thêm:
Từ khóa này
Trong định nghĩa hàm, this
đề cập đến "chủ sở hữu" của hàm.
Trong ví dụ trên, this
là đối tượng người "sở hữu" hàm fullName
.
Nói cách khác, this.firstName
có nghĩa là thuộc tính firstName
của đối tượng này .
Tìm hiểu thêm về this
trong Hướng dẫn về JavaScript này .
Truy cập các phương thức đối tượng
Bạn truy cập một phương thức đối tượng với cú pháp sau:
objectName.methodName()
Nếu bạn truy cập một phương thức không có dấu ngoặc đơn (), nó sẽ trả về định nghĩa hàm :
Không khai báo chuỗi, số và Boolean làm đối tượng!
Khi một biến JavaScript được khai báo bằng từ khóa " new
", biến đó được tạo dưới dạng một đối tượng:
x = new String(); // Declares x as a String object
y = new Number(); // Declares y as a Number object
z = new Boolean(); // Declares z as a Boolean object
Tránh các đối tượng String
, Number
và Boolean
. Chúng làm phức tạp mã của bạn và làm chậm tốc độ thực thi.
Bạn sẽ tìm hiểu thêm về các đối tượng sau trong hướng dẫn này.