ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ES5新增的原型的拓展和对象的拓展

2021-04-19 18:01:44  阅读:140  来源: 互联网

标签:__ ES5 obj 对象 Object 拓展 原型 属性


原型拓展: 

  isPrototypeOf

    A.isPrototypeOf(B): 返回值为布尔类型,表示A是否为B的原型对象

  getPrototypeOf

    Object.getPrototypeOf(A): 获得A的原型对象

    以前获取对象的原型用__proto__,但是__proto__属性以__开头,属于私有的属性,是不希望我们使用的

    与__proto__属性是等价的

  setPrototypeOf

    Object.setPrototypeOf(A, B): 将B设置为A的原型对象,前提B为一个对象或者null

对象拓展: 

  针对对象的属性进行的操作

    属性操作分为:增删改查

  preventExtensions    

    调用方式: Object.preventExtensions(obj)

    阻止obj的扩展,obj不能添加新的属性和方法

    禁拓是不可逆的,一旦禁拓就无法解除

    查看对象是否可以扩展:Object.isExtensible(obj) 查看obj对象是否可以扩展,返回值为布尔值

  seal    

    密封对象:对象的属性不能被添加,也不能被删除(保证属性的数量不发生改变)

    Object.seal(obj): 对obj对象密封

    封闭是不可逆的,一旦封闭就无法解封

    Object.isSealed(obj):查看obj对象是否密封,返回值为布尔值

  freeze    

    冻结对象:不能删除、不能修改,不能添加

    调用方式:Object.freeze(obj): 将obj对象冻结

    冻结是不可逆的,一旦冻结就无法解冻

    Object.isFrozen(obj):查看obj对象是否被冻结

  create    

    Object.create(prototype, description)

    返回值为:一个新的对象

    prototype: 生成对象的原型对象

    description: 特性对象

标签:__,ES5,obj,对象,Object,拓展,原型,属性
来源: https://www.cnblogs.com/yess/p/14677934.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有