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

Thuộc tính là phần quan trọng nhất của bất kỳ đối tượng JavaScript nào.

Thuộc tính JavaScript

Thuộc tính là giá trị liên quan đến đối tượng JavaScript.

Đối tượng JavaScript là tập hợp các thuộc tính không theo thứ tự.

Thuộc tính thường có thể được sửa đổi, thêm và xóa, nhưng một số thuộc tính là chỉ đọc.

Truy cập thuộc tính JavaScript

Cú pháp truy cập thuộc tính đối tượng là:

tên đối tượng.thuộc tính           // person.age

hoặc:

tên đối tượng["thuộc tính]       // person["age"]

hoặc:

tên đối tượng[báo thức]       // x = "age"; person[x]

Báo thức phải được tính toán thành tên thuộc tính.

Ví dụ 1

person.firstname + " is " + person.age + " years old.";

Thử ngay

Ví dụ 2

person["firstname"] + " is " + person["age"] + " years old.";

Thử ngay

Vòng lặp for...in trong JavaScript

JavaScript for...in câu lệnh duyệt qua các thuộc tính của đối tượng.

cú pháp

for (biến trong đối tượng) {
    Mã cần thực hiện
}

for...in Mã trong khối lặp sẽ được thực hiện một lần cho mỗi thuộc tính.

Vòng lặp các thuộc tính của đối tượng:

thực thể

var person = {fname:"Bill", lname:"Gates", age:62}; 
for (x in person) {
    txt += person[x];
}

Thử ngay

Thêm thuộc tính mới

Bạn có thể thêm thuộc tính mới vào đối tượng hiện có bằng cách gán giá trị đơn giản.

Giả sử đối tượng person đã tồn tại - sau đó bạn có thể thêm thuộc tính mới cho nó:

thực thể

person.nationality = "English";

Thử ngay

Bạn không thể sử dụng từ khóa hệ thống làm tên thuộc tính (hoặc tên phương thức). Hãy sử dụng quy tắc đặt tên JavaScript.

Gỡ bỏ thuộc tính

delete Từ khóa gỡ bỏ thuộc tính từ đối tượng:

thực thể

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age;   // hoặc delete person["age"];

Thử ngay

delete Từ khóa sẽ xóa cả giá trị và thuộc tính本身.

Sau khi xóa, thuộc tính không thể sử dụng được cho đến khi được thêm lại.

delete Toán tử được thiết kế để sử dụng cho thuộc tính đối tượng. Nó không có ảnh hưởng đến biến hoặc hàm.

delete Cần tránh sử dụng toán tử trong thuộc tính đối tượng được định nghĩa sẵn. Việc này có thể làm ứng dụng bị sập.

Giá trị thuộc tính

Tất cả các thuộc tính đều có tên. Ngoài ra chúng còn có giá trị.

Giá trị là một tính chất của thuộc tính.

Các tính chất khác bao gồm: có thể liệt kê, có thể cấu hình, có thể ghi.

Các tính chất này xác định cách thuộc tính được truy cập (là đọc được hay ghi được?).

Trong JavaScript, tất cả các thuộc tính đều là đọc được, nhưng chỉ giá trị là có thể thay đổi (chỉ khi thuộc tính là ghi được).

(ECMAScript 5 có phương pháp để lấy và đặt tất cả các tính chất thuộc tính)

Thuộc tính nguyên mẫu

Đối tượng JavaScript kế thừa thuộc tính của nguyên mẫu của chúng.

delete Từ khóa sẽ không xóa thuộc tính được kế thừa, nhưng nếu bạn xóa một thuộc tính nguyên mẫu, nó sẽ ảnh hưởng đến tất cả các đối tượng kế thừa từ nguyên mẫu.