• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Reflect.preventExtensions()

    静态方法Reflect.preventExtensions()方法阻止新属性添加到对象例如:防止将来对对象的扩展被添加到对象中)。该方法与Object.preventExtensions()相似,但有一些不同点。详情可见 differences。

    语法

    Reflect.preventExtensions(target)
    

    参数

    target
    阻止扩展的目标对象。

    返回值

    返回一个Boolean值表明目标对象是否成功被设置为不可扩展。

    异常

    抛出一个Object

    描述

    Reflect.preventExtensions方法阻止新属性添加到对象例如:防止将来对对象的扩展被添加到对象中)。该方法与Object.preventExtensions()方法一致。

    示例

    使用Reflect.preventExtensions()

    详情可见Object.preventExtensions().

    // Objects are extensible by default.
    var empty = {};
    Reflect.isExtensible(empty); // === true
    
    // ...but that can be changed.
    Reflect.preventExtensions(empty);
    Reflect.isExtensible(empty); // === false
    

    Object.preventExtensions()的不同点

    如果该方法的第一个参数不是一个对象(原始值),那么将造成一个Object.preventExtensions()方法,非对象的第一个参数将被强制转换为对象。

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