• Object中的方法


    学习的时候老师碰到使用Object中的方法,因此将其列出来,看下都能干什么用,也方便以后开发直接使用

    1 Object.assign

    将所有可枚举返回和自有属性从一个或多个源对象复制到目标对象

    const target={a:1,b:2}
    const source={b:4,c:5}
    
    const target=Object.assign(target,source)
    
    • 1
    • 2
    • 3
    • 4

    第一个参数为目标对象,后面的参数可以为需要一个或多个复制的对象,最后结构返回复制后的目标对象

    注意1:使用Object.assign进行深拷贝只会拷贝第一层引用,因此无法对多层引用对象进行深拷贝

    注意2:复制null和undefined时会忽略,只能复制可枚举类型和自身的属性,一般只有string有自己的可枚举属性

    2 Object.create

    用于创建一个新对象,使用现有对象作为新对象的原型

    使用Object.create实现继承

    function Person(name,age){
    	this.name=name
    	this.age=age
    }
    
    Person.prototype.getName=function(){
    	return this.name
    }
    function Student(name,age,grade){
    	Person.call(this,name,age)
    	this.grade=grade
    }
    
    Student.prototype=Object.create(Person.prototype)
    
    Strdent.prototype.constructor=Student
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    3 Object.defineProperty

    直接在一个对象上定义新的属性或修改现有属性,并返回该对象

    Object.defindPropertiy(obj,{
    	set(val){
    		obj==val	
    	}
    	get(){
    		return obj	
    	}
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4 Object.entries

    返回一个键值对数组

    5 Object.getOwnPropertyNames

    返回一个对象所有属性的属性名(包括不可枚举、属性,但不包括symbol值作为名称的属性)

    6 Object.getOwnPropertySymbols

    返回一个对象使用Symbol值作为属性名

    7 Object.hasOwn

    判断属性是否为对象的直接属性,该方法不会检查对象原型链上的属性

    8 Object.keys

    返回对象可枚举属性名称的数组

    9 Object.values

    返回对象的属性值数组

  • 相关阅读:
    Java操作Excel文档进行读取和写入
    UCOSII
    8.3 结构体指针变量
    阿里云购买磁盘,挂载到/root/XXXX 详细的步骤
    更新GitLab上的项目
    进阶JAVA篇- Collection 类的常用的API与 Collection 集合的遍历方式
    mysql如何复制一张表的数据到新的表
    Cesium性能优化:高效加载billboard图标和label文字标签
    C#解决MDI窗体闪屏的方法
    1410. HTML 实体解析器-力扣双百代码-简洁做法
  • 原文地址:https://blog.csdn.net/weixin_44208404/article/details/126152929