Property Attributes

Theo đặc tả ECMAScript, mỗi thuộc tính của object trong JS sẽ có những thông tin mô tả tương ứng (property attributes)

Ký hiệu [[]] ở trong đặc tả cho biết rằng thông tin đó sẽ không được hiển thị ra bên ngoài JavaScript.

Tuy nhiên, chúng ta cũng có thể dùng hàm Object.getOwnPropertyDescriptor của JavaScript để truy xuất các thông tin này:

const object = { foo: 42 }
Object.getOwnPropertyDescriptor(object, "foo")
// → { value: 42, writable: true, enumerable: true, configurable: true }

Mảng theo ECMAScript được xem như là một loại object đặc biệt chứa các thuộc tính ở dạng chỉ số và có thêm thuộc tính length.

Khi một phần tử được thêm vào, giá trị của thuộc tính length sẽ được tự động cập nhật:

const array = ["a", "b"]
array.length // → 2
array[2] = "c"
array.length // → 3

Resources