JavaScript高级(十一)--对象方法Object

对象方法的补充

Object.create()

使用指定的原型对象和属性创建一个新对象。

返回值:一个新对象,带着指定的原型对象和属性。

javascript 复制代码
    var obj = {
      name: "why",
      age: 18
    }
    
    // 指定新对象的原型为obj
    var info = Object.create(obj, {
      address: {
        configurable: true,
        writable: true,
        enumerable: true,
        value: "beijing"
      }
    })

    console.log(info)
Object.assign()

通过复制一个或多个对象来创建一个新的对象。

javascript 复制代码
    const target = { a: 1, b: 2 };
    const source = { c: 4, d: 5 };

    // 原对象target也会发生变化
    // const res = Object.assign(target, source)

    // 解决方案1
    const res1 = Object.assign({}, target, source)
   
    // 解决方案2
    const res2 = {...target, ...source}
Object.defineProperty()

给对象添加一个属性并指定该属性的配置

javascript 复制代码
    const obj = {};

    Object.defineProperty(obj, "address", {
      value: "深圳",
      configurable: true,
      enumerable: true,
      writable: true
    })
Object.defineProperties()

给对象添加多个属性并分别指定它们的配置。

javascript 复制代码
    const obj = {};

    Object.defineProperties(obj, {
      address: {
        value: "深圳",
        configurable: true,
        enumerable: true,
        writable: true
      },
      name: {
        value: "malong",
        configurable: true,
        enumerable: true,
        writable: true
      }
    })
Object.freeze()

冻结对象:其他代码不能删除或更改任何属性。

javascript 复制代码
    var obj = {
        name: "malong"
    };
    
    Object.freeze(obj)
Object.prototype.hasOwnProperty()

返回一个布尔值,用于表示一个对象自身是否包含指定的属性,该方法并不会查找原型链上继承来的属性。

javascript 复制代码
    var obj = {
        name: "zhangsan"
    }
     
    for(var key in obj){
        if(obj.hasOwnProperty(key)){
            console.log(obj[key])
        }
    }
    
相关推荐
江城开朗的豌豆33 分钟前
从生命周期到useEffect:我的React函数组件进化之旅
前端·javascript·react.js
江城开朗的豌豆1 小时前
React组件传值:轻松掌握React组件通信秘籍
前端·javascript·react.js
Sailing1 小时前
别再放任用户乱填 IP 了!一套前端 IP 与 CIDR 校验的高效方案
前端·javascript·面试
遂心_15 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
遂心_15 小时前
深入理解 React Hook:useEffect 完全指南
前端·javascript·react.js
前端Hardy16 小时前
HTML&CSS: 谁懂啊!用代码 “擦去”图片雾气
前端·javascript·css
前端Hardy16 小时前
HTML&CSS:好精致的导航栏
前端·javascript·css
一个不爱写代码的瘦子17 小时前
迭代器和生成器
前端·javascript
源猿人20 小时前
企业级文件浏览系统的Vue实现:架构设计与最佳实践
前端·javascript·数据可视化
RoyLin20 小时前
TypeScript设计模式:迭代器模式
javascript·后端·node.js