`静态方法 Reflect``.isExtensible()` 判断一个对象是否可扩展 （即是否能够添加新的属性）。与它 `Object.isExtensible()` 方法相似，但有一些不同，详情可见 differences。

## 语法

    Reflect.isExtensible(target)

### 参数

`target`
  检查是否可扩展的目标对象。

### 返回值

返回一个 `Boolean` 值表明该对象是否可扩展。

### 异常

抛出一个 `TypeError`，如果对象不是 `Object`。

## 描述

`Reflect.isExtensible 判断`一个对象是否可扩展 （即是否能够添加新的属性）。它与 `Object.isExtensible()` 方法一样。

## 示例

### 使用 `Reflect.isExtensible()`

详情可见 `Object.isExtensible()`。

    // New objects are extensible.
    var empty = {};
    Reflect.isExtensible(empty); // === true

    // ...but that can be changed.
    Reflect.preventExtensions(empty);
    Reflect.isExtensible(empty); // === false

    // Sealed objects are by definition non-extensible.
    var sealed = Object.seal({});
    Reflect.isExtensible(sealed); // === false

    // Frozen objects are also by definition non-extensible.
    var frozen = Object.freeze({});
    Reflect.isExtensible(frozen); // === false

### 与 `Object.isExtensible() 的不同点`

如果该方法的第一个参数不是一个对象（原始值），那么将造成一个 `TypeError` 异常。对于 `Object.isExtensible()`，非对象的第一个参数会被强制转换为一个对象。

    Reflect.isExtensible(1);
    // TypeError: 1 is not an object

    Object.isExtensible(1);
    // false

## 规范

Specification | Status | Comment
--- | --- | ---
ECMAScript 2015 (6th Edition, ECMA-262) Reflect.isExtensible | Standard | Initial definition.
ECMAScript Latest Draft (ECMA-262) Reflect.isExtensible | Draft |

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
--- | --- | --- | --- | --- | ---
Basic support | 49 | 42 (42) | 未实现 | 未实现 | 10

Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile
--- | --- | --- | --- | --- | --- | ---
Basic support | 未实现 | 49 | 42.0 (42) | 未实现 | 未实现 | 10

## 相关链接

- `Reflect`
- `Object.isExtensible()`