Thuộc tính tính toán trong JavaScript

Khi khai báo một đối tượng, tên các thuộc tính của nó có thể được lấy từ các biến. Các thuộc tính như vậy được gọi là computed properties (thuộc tính tính toán). Hãy xem cách thực hiện điều này. Giả sử chúng ta có đối tượng sau:

javascriptlet obj = {
  a: 1,
  b: 2,
  c: 3
};

Giả sử tên của một thuộc tính nào đó được lưu trữ trong một biến:

javascriptlet key = 'a';

Hãy làm sao để thay vì tên thuộc tính cố định, giá trị từ biến của chúng ta được sử dụng. Để làm điều này, biến cần được đặt trong dấu ngoặc vuông:

javascriptlet obj = {
  [key]: 1,
  b: 2,
  c: 3
};

Khi khai báo các thuộc tính tính toán, có thể thực thi một số mã. Ví dụ:

javascriptlet obj = {
  [key + '1']: 1,
  [key + '2']: 2,
  [key + '3']: 3
};
Задание 1

Trong mã sau, khóa lẽ ra phải được lấy từ biến. Hãy sửa lỗi đã mắc phải:

javascriptlet key = 'x';

let obj = {
  key: 1,
  y: 2,
  z: 3
};
Задание 2

Cho đối tượng:

javascriptlet obj = {
  x: 1,
  y: 2,
  z: 3
};

Cho các biến:

javascriptlet key1 = 'x';
let key2 = 'y';
let key3 = 'z';

Hãy làm sao để các khóa của đối tượng được lấy từ các biến này.