带你读《现代Javascript高级教程》五、JavaScript对象(1)

简介: 带你读《现代Javascript高级教程》五、JavaScript对象(1)

五、JavaScript对象

引言

在 JavaScript 中,对象是一种非常重要的数据类型,它允许我们以键值对的形式组织和存储数据。对象提供了丰富的属性和方法,使得我们能够创建、操作和管理复杂的数据结构。本文将详细介绍 JavaScript 对象的属性和常用 API,并提供一个模拟实现对象的示例。同时,还将探讨对象的应用场景和一些相关的参考资料。

1. 对象属性

JavaScript 对象的属性是以键值对的形式存储的。对象属性可以是任意类型的值,包括基本数据类型(如字符串、数字、布尔值)和其他对象。

访问属性

我们可以使用点符号或方括号来访问对象的属性。例如:

 

const person = {
  name: 'John',
  age: 25,};
console.log(person.name); // 输出: John
console.log(person['age']); // 输出: 25

修改属性

可以通过赋值运算符来修改对象的属性值。例如:

 

person.age = 30;
console.log(person.age); // 输出: 30

删除属性

可以使用 delete 关键字来删除对象的属性。例如:

 

delete person.age;
console.log(person.age); // 输出: undefined

动态添加属性

JavaScript 对象是动态的,意味着我们可以在运行时动态添加新的属性。例如:

person.address = '123 Main Street';
console.log(person.address); // 输出: 123 Main Street

属性枚举

JavaScript 对象的属性默认可枚举,即可以通过 for...in 循环遍历对象的属性。可以使用 Object.defineProperty() 方法来定义不可枚举的属性。例如:

 

const car = {
  brand: 'Toyota',
  model: 'Camry',};
Object.defineProperty(car, 'color', {
  value: 'blue',
  enumerable: false,});
for (let key in car) {
  console.log(key); // 输出: brand, model}

 

在上面的示例中,我们使用 Object.defineProperty() 定义了一个不可枚举的 color 属性,因此在 for...in 循环中不会被遍历到。

属性描述符

每个属性都有一个与之关联的属性描述符,描述了属性的各种特性。可以使用 Object.getOwnPropertyDescriptor() 方法获取属性的描述符。例如:

 

const descriptor = Object.getOwnPropertyDescriptor(person, 'name');
console.log(descriptor);// 输出: { value: 'John', writable: true, enumerable: true, configurable: true }

 

在上面的示例中,我们获取了 person 对象的 name 属性的描述符。


带你读《现代Javascript高级教程》五、JavaScript对象(2)https://developer.aliyun.com/article/1349678?groupCode=tech_library

相关文章
|
2月前
|
JavaScript 前端开发
JavaScript遍历数组和对象常用方法总结
以上代码展示了数组和对象的多种遍历方法。对于数组,使用了传统的 `for` 循环、`for...in` 和 ES6 的 `for...of` 进行遍历;对于对象,则通过 `for...in`、`Object.keys()`、`Object.values()` 和 `Object.entries()` 来获取键值对。`for...of` 循环适用于遍历具有迭代协议的数据结构,如数组、字符串等,而对象遍历则更多地依赖于 `Object` 方法来获取其属性集合。
JavaScript遍历数组和对象常用方法总结
|
7天前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-枚举对象中的属性
关于JavaScript基础知识中如何枚举对象属性的介绍。
27 1
JavaScript基础知识-枚举对象中的属性
|
21天前
|
JavaScript 前端开发
JavaScript Boolean(布尔) 对象
Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false)。
29 8
|
3天前
|
存储 JavaScript 前端开发
JavaScript Number 对象
JavaScript Number 对象
8 0
|
3天前
|
JavaScript 前端开发
JavaScript prototype(原型对象)
JavaScript prototype(原型对象)
9 0
|
3天前
|
JavaScript 前端开发
JavaScript 对象
JavaScript 对象
8 0
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-对象的基本操作
关于JavaScript对象基本操作的基础知识文章。
30 2
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-对象字面量
文章介绍了JavaScript中对象字面量的创建和使用,包括基本语法、属性赋值以及如何在控制台输出对象属性。
28 0
JavaScript基础知识-对象字面量
|
1月前
|
JavaScript 前端开发 API
Javaweb之javascript的BOM对象的详细解析
BOM为Web开发提供了强大的API,允许开发者与浏览器进行深入的交互。合理使用BOM中的对象和方法,可以极大地增强Web应用的功能性和用户体验。需要注意的是,BOM的某些特征可能会在不同浏览器中表现不一致,因此在开发过程中需要进行仔细的测试和兼容性处理。通过掌握BOM,开发者能够制作出更丰富、更动态、更交互性的JavaWeb应用。
17 1
下一篇
无影云桌面