美文网首页
Object.seal()方法封闭一个对象,阻止添加新属性并将所

Object.seal()方法封闭一个对象,阻止添加新属性并将所

作者: 小李不小 | 来源:发表于2020-10-13 09:19 被阅读0次
    Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。
    let object1 = {
      property1: 42
    };
    
    Object.seal(object1);
    object1.property1 = 33;
    object1.property2 = 44;
    console.log(object1.property1);
    // expected output: 33
    
    delete object1.property1; // 删除失败
    console.log(object1);
    
    //结果
    //let object1 = {
     // property1: 42
    //};
    
    
    Object.isSealed() 方法判断一个对象是否被密封 被密封true 未被密封false
    
    let object1 = {
      property1: 42
    };
    
    Object.seal(object1);
    object1.property1 = 33;
    
    //Object.isSealed() 方法判断一个对象是否被密封 被密封true  未被密封false
    console.log('object1密封状态',Object.isSealed(object1))
    if(Object.isSealed(object1)){
        console.log('被密封')
    }else{
        //对象未被密封的时候 来添加属性
            object1.property2='未被密封';
            console.log('未被密封')
    }
    
    console.log(object1);
    

    对象密封状态下,不可能新增属性


    image.png
    删除 Object.seal(object1) 封装这行代码,就阔以添加属性了
    image.png

    相关文章

      网友评论

          本文标题:Object.seal()方法封闭一个对象,阻止添加新属性并将所

          本文链接:https://www.haomeiwen.com/subject/vgxlyktx.html