Object.isExtensible()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Phương thức tĩnh Object.isExtensible() xác định xem một đối tượng có thể mở rộng hay không (liệu có thể thêm thuộc tính mới vào nó không).
Try it
const object = {};
console.log(Object.isExtensible(object));
// Expected output: true
Object.preventExtensions(object);
console.log(Object.isExtensible(object));
// Expected output: false
Cú pháp
Object.isExtensible(obj)
Tham số
obj-
Đối tượng cần kiểm tra.
Giá trị trả về
Một Boolean cho biết đối tượng đã cho có thể mở rộng hay không.
Mô tả
Các đối tượng có thể mở rộng theo mặc định: chúng có thể có các thuộc tính mới được thêm vào, và [[Prototype]] của chúng có thể được gán lại. Một đối tượng có thể được đánh dấu là không thể mở rộng bằng cách sử dụng một trong các phương thức Object.preventExtensions(), Object.seal(), Object.freeze() hoặc Reflect.preventExtensions().
Ví dụ
>Sử dụng Object.isExtensible
// Các đối tượng mới có thể mở rộng.
const empty = {};
Object.isExtensible(empty); // true
// Chúng có thể được làm không thể mở rộng
Object.preventExtensions(empty);
Object.isExtensible(empty); // false
// Các đối tượng sealed theo định nghĩa là không thể mở rộng.
const sealed = Object.seal({});
Object.isExtensible(sealed); // false
// Các đối tượng frozen theo định nghĩa cũng là không thể mở rộng.
const frozen = Object.freeze({});
Object.isExtensible(frozen); // false
Đối số không phải đối tượng
Trong ES5, nếu đối số của phương thức này không phải là đối tượng (một giá trị nguyên thủy), nó sẽ gây ra TypeError. Trong ES2015, nó sẽ trả về false mà không có bất kỳ lỗi nào nếu đối số không phải đối tượng được truyền vào, vì các giá trị nguyên thủy theo định nghĩa là bất biến.
Object.isExtensible(1);
// TypeError: 1 is not an object (ES5 code)
Object.isExtensible(1);
// false (ES2015 code)
Đặc tả
| Thông số kỹ thuật |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.isextensible> |