对象的方法是指附属于对象的函数。下面是一些常用的对象方法:
1、Object.assign(target, ...sources):将一个或多个源对象的属性和方法合并到目标对象中,并返回目标对象。
const obj1 = {a: 1};
const obj2 = {b: 2};
const obj3 = {c: 3};
const mergedObj = Object.assign({}, obj1, obj2, obj3);
console.log(mergedObj); // 输出:{a: 1, b: 2, c: 3}
2、Object.keys(obj):返回一个包含对象所有可枚举属性的字符串数组
const obj = {a: 1, b: 2, c: 3};
const keys = Object.keys(obj);
console.log(keys); // 输出:["a", "b", "c"]
3、Object.values(obj):返回一个包含对象所有可枚举属性的值的数组。
const obj = {a: 1, b: 2, c: 3};
const values = Object.values(obj);
console.log(values); // 输出:[1, 2, 3]
4、Object.entries(obj):返回一个包含对象所有可枚举属性的键值对数组。
const obj = {a: 1, b: 2, c: 3};
const entries = Object.entries(obj);
console.log(entries); // 输出:[["a", 1], ["b", 2], ["c", 3]]
5、Object.getOwnPropertyNames(obj):返回一个包含对象所有属性(包括不可枚举属性)的字符串数组。
const obj = {a: 1, b: 2};
Object.defineProperty(obj, "c", {value: 3, enumerable: false});
const properties = Object.getOwnPropertyNames(obj);
console.log(properties); // 输出:["a", "b", "c"]
6、Object.hasOwnProperty(prop):判断对象是否包含指定的属性
const obj = {a: 1, b: 2};
console.log(obj.hasOwnProperty("a")); // 输出:true
console.log(obj.hasOwnProperty("c")); // 输出:false
7、Object.create(proto, [propertiesObject]):使用指定的原型对象和属性创建一个新对象。
const person = {
sayHello: function() {
console.log("Hello");
}
};
const obj = Object.create(person);
obj.sayHello(); // 输出:Hello
8、Object.freeze(obj):冻结对象,使其属性不可修改、删除和添加。
const obj = {a: 1, b: 2};
Object.freeze(obj);
obj.c = 3;
console.log(obj); // 输出:{a: 1, b: 2}
9、Object.is(obj1, obj2):判断两个值是否相等,类似于严格相等运算符(===)。
console.log(Object.is(1, 1)); // 输出:true
console.log(Object.is("abc", "abc")); // 输出:true
console.log(Object.is({}, {})); // 输出:false
10、Object.getPrototypeOf(obj):返回对象的原型。
const person = {name: "John"};
const obj = Object.create(person);
console.log(Object.getPrototypeOf(obj) === person); // 输出:true
对象是JavaScript中非常重要的数据类型,它可以将相关的数据和功能组织在一起。我们可以使用对象字面量或构造函数来创建对象,通过点表示法或方括号表示法来访问对象的属性和方法。我们可以随时修改和添加对象的属性和方法,也可以使用delete运算符删除属性和方法。通过遍历对象的属性和方法,我们可以对对象进行操作和获取信息。对象的方法可以用来执行某些操作或返回计算结果。