当前位置: 首页 > news >正文

JavaScript中获取对象属性的不同方法

JavaScript中获取对象属性的不同方法

文章目录

  • JavaScript中获取对象属性的不同方法
  • 一、点记法
  • 二、方括号记法
  • 三、Object.keys()方法
  • 四、Object.values()方法
  • 五、Object.entries()方法
  • 六、Object.getOwnPropertyNames()方法
  • 七、Object.getOwnPropertyDescriptors()方法

JavaScript提供了多种方式来获取对象的属性。这些方法可以根据不同的需求和情况来选择使用。以下是其中一些主要方法:

一、点记法

点记法是最直接的方法。只需在对象后面加上点(.),然后是属性名。例如:

let obj = {name: 'John', age: 30};
console.log(obj.name);  // 输出 'John'

二、方括号记法

如果你试图访问的属性名包含空格或特殊字符(如点或美元符号),或者是一个变量,那么可以使用方括号记法。例如:

let obj = { 'name with spaces': 'John', 'name$': 'Doe' };
console.log(obj['name with spaces']);  // 输出 'John'
console.log(obj['name$']);  // 输出 'Doe'

三、Object.keys()方法

这个方法返回一个包含对象所有键的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.keys(obj));  // 输出 ['name', 'age']

四、Object.values()方法

这个方法返回一个包含对象所有值的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.values(obj));  // 输出 ['John', 30]

五、Object.entries()方法

这个方法返回一个包含对象所有键值对的数组。例如:

let obj = {name: 'John', age: 30};
console.log(Object.entries(obj));  // 输出 [['name', 'John'], ['age', 30]]

六、Object.getOwnPropertyNames()方法

这个方法返回一个包含对象自身所有属性(包括不可枚举的属性)的数组。例如:

let obj = {name: 'John', age: 30, nonEnumerable: 'foo'};
console.log(Object.getOwnPropertyNames(obj));  // 输出 ['name', 'age', 'nonEnumerable']

七、Object.getOwnPropertyDescriptors()方法

这个方法返回一个描述对象的所有自有属性的对象。例如:

codelet obj = {name: 'John', age: 30, nonEnumerable: 'foo'};
console.log(Object.getOwnPropertyDescriptors(obj));  // 输出 {...} (包含name, age, nonEnumerable的描述符)

以上就是一些在JavaScript中获取对象属性的主要方式。根据你的需求和场景,选择合适的方法来访问和操作对象的属性。

http://www.lryc.cn/news/165338.html

相关文章:

  • 【STM32教程】第四章 STM32的外部中断EXTI
  • 力扣第40天----第121题、第122题
  • Flask 使用 JWT(二)
  • 从0到1理解ChatGPT原理
  • 如何解决 “Component cannot be used as a JSX component“
  • 小程序自定义tabbar
  • 分布式系统第五讲:分布式事务及实现方案
  • 算法通关村17关 | 透析跳跃游戏
  • ARM接口编程—RTC(exynos 4412平台)
  • 数据分享|WEKA信贷违约预测报告:用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归...
  • 逆市而行:如何在市场恐慌时保持冷静并抓住机会?
  • SpringBoot项目在Linux上启动、停止脚本
  • 基于32位单片机的感应灯解决方案
  • 机器学习——支持向量机(SVM)
  • HTTP协议初识·下篇
  • c++ 类的实例化顺序
  • Vue自动生成二维码并可下载二维码
  • 应该下那个 ActiveMQ
  • 【C语言】指针详解(3)
  • 告别HR管理繁琐,免费低代码平台来帮忙
  • Java开发面试--Redis专区
  • Ansible-roles学习
  • python3如何安装各类库的小总结
  • ffmpeg 特效 转场 放大缩小
  • 【GNN 03】PyG
  • 每日刷题-5
  • RNN简介(深入浅出)
  • Leetcode137. 某一个数字出现一次,其余数字出现3次
  • 原子化CSS(Atomic CSS)
  • pandas 筛选数据的 8 个骚操作