个人笔记 js 对象方法

134 阅读4分钟

js中,Object是一种用于存储键值集合的数据类型

键即属性 值即属性对应的值或其它实体

对于属性的描述,存在数据描述符与存取描述符两种形式,其中数据描述符为具有值的属性,存取描述符是由getter与setter函数描述的属性。

属性类型默认值描述数据描述符存取描述符
configurableBooleanfalse属性的描述符可否被改变,可否被删除可设置可设置
enumerableBooleanfalse是否可枚举可设置可设置
writableBooleanfalse是否可改写可设置不可设置
valueanyundefined属性对应的值可设置不可设置
getfunctionundefined属性的getter函数可设置不可设置
setfunctionundefined属性的setter函数可设置不可设置

根据js对象方法返回的数据类型,对js方法进行划分

一、无返回

1、freeze

说明     冻结对象

2、preventExtensions

说明     让对象变的不可扩展

3、seal

封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置

二、字符串

1、constructor

说明    返回创建实例对象的Object构造函数的引用

三、布尔值

1、hasOwnProperty

说明    返回指示对象自身属性中是否具有指定的属性

2、is

说明    判断两个值是否为同一个值 参数1     被比较的第一个值 参数2     被比较的第二个值

3、isExtensible

说明    判断一个对象是否是可扩展

4、isFrozen

说明    判断一个对象是否被冻结

5、isPrototypeOf

说明    判断一个对象是否存在于另一个对象的原型链上

6、isSealed

说明    判断一个对象是否被密封 (密封对象是指那些不可扩展的)

7、propertyIsEnumerable

说明    判断指定的属性是否可枚举

四、Array

1、entries

说明    返回一个给定对象自身可枚举属性的键值对数组

Object.entries({a: 1, b: 2}) // [['a', 1], ['b', 2]]
2、keys

说明    由一个给定对象的自身可枚举属性组成的数组

3、values

说明    由一个给定对象的自身可枚举属性的值组成的数组

4、getOwnPropertyNames

说明    返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

Object.getOwnPropertyNames({a: 1,b: 2}) // ['a', 'b']

五、Object

1、assign

说明    将所有可枚举属性的值从一个或多个源对象分配到目标对象

const source = {a: 1, b: 2}
const target = {c: 3, d: 4}

const result = Object.assign(source, target)

console.log(result) // {a: 1, b: 2, c: 3, d: 4}
2、create

说明    创建一个新对象,使用现有的对象来提供新创建的对象的__proto__

const source = {a: 1, b: 2}
const result = Object.create(source)
console.log(result) // {}
console.log(result.a) // 1
console.log(result.b) // 2
console.log(result.__proto__) // {a: 1, b: 2}
3、defineProperties

说明    直接在一个对象上定义新的属性或修改现有属性,并返回该对象 参数1      当前操作的对象 参数2      其可枚举属性或修改的属性描述符的对象

4、defineProperty

说明    直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 参数1      当前操作的对象 参数2      其可枚举属性或修改的属性描述符的对象

5、fromEntries

说明    把键值对列表转换为一个对象

Object.fromEntries([['a',1 ],['b', 2],['c',3,5]]) // {a: 1, b: 2, c: 3}

六、不可定

1、getOwnPropertyDescriptor

说明    返回指定对象上一个自有属性对应的属性描述符 注:根据访问的属性,返回对应的属性的值

2、# getOwnPropertyDescriptors

说明    返回指定对象上所有自身属性的属性描述符