Đối tượng, thuộc tính, phương thức trong đời sống thực
Ngoài đời, ô tô là một đối tượng.
Một chiếc ô tô cụ thể sẽ có các thuộc tính như khối lượng, màu sắc và các phương thức như khởi động và dừng lại:
Đối tượng | Các thuộc tính | Các phương thức |
---|---|---|
![]() | car.name = Fiat
car.model = 500 car.weight = 850kg car.color = white | car.start() car.drive() car.brake() car.stop() |
Tất cả ô tô đều có cùng thuộc tính, nhưng giá trị của thuộc tính sẽ khác ở các ô tô khác nhau.
Tất cả ô tô đều có cùng phương thức, nhưng các phương thức này được thực hiện ở các thời điểm khác nhau.
Đối tượng trong JavaScript
Bạn đã được học rằng các biến JavaScript lưu trữ các giá trị dữ liệu.
Đoạn mã ngay bên dưới gán một giá trị đơn giản (Fiat) cho biến có tên là car:
var car = "Fiat";
Các đối tượng cũng là biến, nhưng đối tượng có thể bao gồm nhiều giá trị.
Đoạn code tiếp theo gán nhiều giá trị (Fiat, 500, white) cho biến tên là car:
var car = {type:"Fiat", model:"500", color:"white"};
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 nhau bằng dấu hai chấm).
Thuộc tính của đối tượng
Cặp tên:giá trị (trong đối tượng của JavaScript) được gọi là thuộc tính.
var person = {firstName:"Đức Anh", lastName:"Nguyễn", age:30, eyeColor:"black"};
Thuộc tính | Giá trị của thuộc tính |
---|---|
firstName | Đức Anh |
lastName | Nguyễn |
age | 30 |
eyeColor | black |
Phương thức của đối tượng
Các phương thức là các hành động có thể được thực hiện trên đối tượng.
Các phương thức lưu trữ trong thuộc tính như các định nghĩa hàm.
Thuộc tính | Giá trị của thuộc tính |
---|---|
firstName | Đức Anh |
lastName | Nguyên |
age | 30 |
eyeColor | black |
fullName | function() {return this.firstName + ” ” + this.lastName;} |
Định nghĩa đối tượng
Bạn định nghĩa (và tạo) một đối tượng trong JavaScript:
Ví dụ
var person = {firstName:"Đức Anh", lastName:"Nguyễn", age:30, eyeColor:"black"};
Khoảng trống và các phần xuống dòng không quan trọng. Một đối tượng được định nghĩa có thể được tách ra thành nhiều dòng:
Ví dụ
var person = {
firstName:"Đức Anh",
lastName:"Nguyễn",
age:30,
eyeColor:"black"
};
Truy cập thuộc tính của đối tượng
Bạn có thể truy cập thuộc tính của đối tượng theo hai cách:
TenDoiTuong.TenThuocTinh
hoặc
TenDoiTuong["TenThuocTinh"]
Ví dụ 1
person.lastName;
Ví dụ 2
person["lastName"];
Truy cập phương thức đối tượng
Bạn có thể truy cập phương thức của đối tượng với cú pháp sau:
objectName.methodName()
TenDoiTuong.TenPhuongThuc()
Ví dụ
name = person.fullName();
Nếu bạn truy cập thuộc tính họ tên đầy đủ, không có (), nó sẽ trả về định nghĩa hàm:
Ví dụ
name = person.fullName;
Không khai bao các Chuỗi, Số và Boolean thành Đối tượng
Khi một biến JavaScript được khai báo với từ khoá “new”, biến được tạo như là đối tượng:
var x = new String();// Khai báo x như là đối tượng String
var y = new Number();// Khai báo y như là đối tượng Số
var z = new Boolean();// Khai báo z như là đối tượng Boolean
Tránh sử dụng Chuỗi, Số, và Boolean như đối tượng. Chúng sẽ làm phức tạp thêm code và làm chậm tốc độ thực thi.