当谈到 JavaScript 对象时,它是这门语言中最重要的数据类型之一。对象是一种复合值:它可以包含多个键值对,每个键值对之间使用逗号分隔,并且通常由花括号 {} 包裹。这使得对象成为一种非常灵活和强大的数据结构,用于表示复杂的数据和组织程序中的代码。
我Java学的比较多,用的也比较多,所以当得知JavaScript 的数组在概念上不同于像 Java 这样的静态类型语言中的数组,在 JavaScript 中,数组是一种特殊的对象,它的元素可以是任意类型的数据,包括数字、字符串、对象,我是很震惊的。这竟然不用提前声明类型的吗?键值对能和数字混存?字符串都能和数字混存?
下面给出js对象的一些基本概念和基本操作
对象的创建
你可以使用字面量语法 {} 来创建一个空对象,或者使用 new Object() 来创建一个空对象。
const obj1 = {}; // 使用字面量创建空对象
const obj2 = new Object(); // 使用构造函数创建空对象
键值对
对象中的数据以键值对的形式存在,键是字符串类型,值可以是任意类型的数据。
const person = {
name: "John",
age: 30,
isStudent: false
};
访问对象属性
可以使用点符号或者方括号来访问对象的属性。
console.log(person.name); // 使用点符号访问属性
console.log(person["age"]); // 使用方括号访问属性
添加和修改属性
你可以随时向对象添加新属性或者修改已有属性。
person.gender = "male"; // 添加新属性
person.age = 31; // 修改已有属性
删除属性
可以使用 delete 操作符删除对象的属性。
delete person.isStudent; // 删除属性
遍历对象
可以使用 for…in 循环或者 Object.keys()、Object.values()、Object.entries() 方法来遍历对象的属性。
for (let key in person) {
console.log(key + ": " + person[key]);
}
Object.keys(person).forEach(key => {
console.log(key + ": " + person[key]);
});
Object.entries(person).forEach(([key, value]) => {
console.log(key + ": " + value);
});
对象的方法
对象中的属性也可以是函数,这样的属性通常被称为方法。
const calculator = {
add: function(a, b) {
return a + b;
},
subtract: function(a, b) {
return a - b;
}
};
console.log(calculator.add(5, 3)); // 输出: 8
console.log(calculator.subtract(5, 3)); // 输出: 2