Object.defineProperty() cho phép định nghĩa thuộc tính mới hoặc sửa đổi thuộc tính hiện có trên đối tượng với kiểm soát chi tiết: giá trị, có ghi được không, có liệt kê được không, có cấu hình lại được không.
Cú pháp
Object.defineProperty(obj, prop, descriptor)
Tham số
- obj – Đối tượng định nghĩa thuộc tính.
- prop – Tên thuộc tính (string hoặc Symbol).
- descriptor – Đối tượng mô tả thuộc tính:
Các trường trong descriptor
| Trường | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
value | any | undefined | Giá trị thuộc tính |
writable | boolean | false | Cho phép gán giá trị mới? |
enumerable | boolean | false | Xuất hiện trong for...in / Object.keys()? |
configurable | boolean | false | Cho phép xóa hoặc đổi descriptor? |
get | function | undefined | Getter function |
set | function | undefined | Setter function |