Lỗi khi truy cập thuộc tính đối tượng trong JavaScript

Khi truy cập thuộc tính của một đối tượng, tên của thuộc tính đó không thể được lưu trữ trong một biến. Hãy cùng xem tại sao. Giả sử chúng ta có một đối tượng như thế này:

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

Giả sử trong biến lưu trữ tên thuộc tính mà chúng ta muốn lấy giá trị:

javascriptlet key = 'a';

Hãy thử truy cập thuộc tính đối tượng, sử dụng biến này:

javascriptconsole.log(obj.key); // undefined

Đoạn mã trên sẽ không hoạt động, vì thực tế chúng ta đang tìm kiếm thuộc tính có tên 'key', chứ không phải thuộc tính có tên được lưu trữ trong biến key. Tức là thực tế mã của chúng ta tương đương với điều sau:

javascriptconsole.log(obj['key']);

Cách duy nhất để truy cập một phần tử bằng khóa từ một biến là viết biến đó trong dấu ngoặc vuông:

javascriptconsole.log(obj[key]);
Задание 1

Sửa lỗi trong đoạn mã sau:

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

let prop = 'x';
console.log(obj.prop);
Задание 2

Sửa lỗi trong đoạn mã sau:

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

let prop = 'x';
console.log(obj['prop']);