返回
JavaScript对象创建和属性访问详解
前端
2023-09-22 01:01:15
在JavaScript中,对象是一种包含属性(key-value对)的数据结构,用于存储和管理数据。对象有两种创建方式:声明形式和构造形式。
声明形式
const person = {
name: "John Doe",
age: 30,
city: "New York"
};
构造形式
const person = new Object();
person.name = "John Doe";
person.age = 30;
person.city = "New York";
对象属性
对象的属性可以是任何类型的值,包括字符串、数字、布尔值、数组、对象等。
属性访问
可以通过点运算符(.)或方括号(
[]`)来访问对象的属性。
console.log(person.name); // "John Doe"
console.log(person["age"]); // 30
原型属性
每个对象都有一个原型对象,原型对象包含一些默认属性和方法,这些属性和方法可以被对象继承。
console.log(person.toString()); // "[object Object]"
console.log(person.hasOwnProperty("name")); // true
属性定义
可以通过Object.defineProperty()
方法来定义对象的属性。
Object.defineProperty(person, "salary", {
value: 10000,
writable: true,
enumerable: true,
configurable: true
});
属性值
属性的值可以通过点运算符(.)或方括号(
[]`)来获取或设置。
person.salary = 12000;
console.log(person.salary); // 12000
属性类型
属性的类型可以通过typeof
运算符来获取。
console.log(typeof person.name); // "string"
console.log(typeof person.age); // "number"
console.log(typeof person.city); // "string"
属性访问器
可以通过Object.getOwnPropertyDescriptor()
方法来获取对象的属性访问器。
const descriptor = Object.getOwnPropertyDescriptor(person, "name");
console.log(descriptor.get); // function () { return this.name; }
console.log(descriptor.set); // function (value) { this.name = value; }
属性符
属性符是一个对象,它包含了属性的各种信息,包括属性的值、类型、访问器等。
const descriptor = {
value: "John Doe",
writable: true,
enumerable: true,
configurable: true
};
Object.defineProperty(person, "name", descriptor);
对象操作
可以使用Object.keys()
, Object.values()
和Object.entries()
方法来操作对象。
console.log(Object.keys(person)); // ["name", "age", "city", "salary"]
console.log(Object.values(person)); // ["John Doe", 30, "New York", 12000]
console.log(Object.entries(person)); // [["name", "John Doe"], ["age", 30], ["city", "New York"], ["salary", 12000]]
JavaScript对象是JavaScript中最重要的数据结构之一,掌握JavaScript对象的相关知识,对于深入理解JavaScript语言非常有帮助。