在开发中经常会遇到在使用JS 写业务逻辑的时候,可能经常会用的就是自己最熟的,但有时候却不是最优解,所以还是要多熟悉API ,然后做最优的选择。
构造函数方法
Object.assign() :方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
Object.assign(target, ...sources) target 目标对象 sources 源对象 返回值目标对象
作用:数据合并,拷贝,至于是深拷贝还是浅拷贝 要看 这个对象是什么类型,如果嵌套了引用类型,那么拷贝的只是地址这样实现的就不是深拷贝
Object.defineProperties()
方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
Object.defineProperty()
方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。同上参考。
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
会忽略调从原型链上继承过来的属性
其他常用方法
in 运算符 in
运算符返回一个布尔值,表示一个对象是否具有某个属性。它不区分该属性是对象自身的属性,还是继承的属性
for...in 遍历对象的可枚举属性 包块原型上定义的属性
for...of 可以遍历出来value 值 遍历数组比较合适
MDN 太卡 我准备休息一下
https://developer.mozilla.org/zh-CN/