Truy vấn và thiết lập các đặc tính Javascript (phần 4)

Objects như các mảng liên quan (tiếp tục)

Vì người dùng nhập vào các tên stock tại runtime, không có cách nào cái bạn có thể biết các tên đặc tính trước. Vì
bạn không thể biết các tên đặc tính khi bạn viết chương trình, không có cách nào bạn có thể sử dụng toán tử . để
truy cập các đặc tính của portfolio object. Bạn có thể sử dụng toán tử [ ], tuy nhiên, vì nó sử dụng một giá trị
string (cái là động và có thể thay đổi tại runtime) hơn là một cái nhận dạng (cái là tĩnh và phải được hardcode trong
chương trình) để đặt tên đặc tính.
Trong học phần trước, chúng ta đã giới thiệu for/in loop (và chúng ta sẽ sớm thấy nó trong phần sau). Sức mạnh
của phát biểu Javascript này trở nên rõ ràng khi bạn xem xét sử dụng của nó với các mảng liên quan. Sau đây là làm
cách nào bạn sử dụng nó khi tính toán tổng giá trị của một porfolio:

function computeValue(portfolio) {

let total = 0.0;
for(let stock in portfolio) { // For each stock in the portfolio:

let shares = portfolio[stock]; // get the number of shares
let price = getQuote(stock); // look up share price
total += shares * price; // add stock value to total value

}
return total; // Return total value.

}

Các Javascript objects được sử dụng phổ biến như các mảng liên quan như thể hiện ở đây, và nó là quan trọng để
hiểu cái này làm việc như thế nào. Trong ES6 và sau này, tuy nhiên, Map class mô tả trong các học phần sau thường
là lựa chọn tốt hơn sử dụng một plain object.

Chia sẻ