js 对象属性的特性

本文介绍了JavaScript中对象属性的特性,包括数据属性和访问器属性的详细说明,如configurable、enumerable、writable、get和set等,并提供了如何通过Object.getOwnPropertyDescriptor()和Object.defineProperty()进行修改和读取属性特性的示例。
摘要由CSDN通过智能技术生成


前言

“js 对象属性的特性”的学习笔记,介绍属性特性的种类和说明,以及如何获取和修改属性特性。


在 js 中,可以把对象想象成一个散列表(类似于 Python 中的字典类型,或者是 Java 中的 HashMap),其中的内容就是一组名/值对,值可以是数据或者函数

一、创建简单的对象

创建一个简单的对象主要有两种方法,第一种是先创建一个 Object 实例,然后给这个实例添加属性和方法:

let person = new Object();
person.name = "ec50n9";
person.age = 19;
person.sayName = function(){
   
  console.log(this.name);
};

这样就创建好一个名为 person 的对象了,它包含有 nameagesayName 三个属性。其中 sayName 的值是一个函数,可以这样子调用:

person.sayName();     // "ec50n9"
// 👇也可以尝试一下另一种获取属性值的方式
person["sayName"]();  // "ec50n9"

还有一种看起来更加直观的创建方法,那就是使用对象字面量来创建对象,下面这种写法等价于上面的,只是看起来更简洁:

let person = {
   
  name: "ec50n9",
  age: 19,
  sayName(){
   
    console.log(this.name);
  }
};

这种写法看起来就和 Python 中的字典很类似了,实际上,如果不考虑 js 的原型链的话,它俩的用法好像确实差别不大🤪。

二、对象属性的特性

对于对象中的属性,除了可以对其赋值以外,每一个属性的内部都包含有一些内部特性来描述属性自身的特征的。

这些内部特性,开发者是无法直接访问的,只能通过 Object.defineProperty() 这个函数来对其进行修改。

不同的对象属性又有不同的内部特性,这里分开来介绍。对象的属性分两种:数据属性访问器属性

数据属性

数据属性就是最普通的属性,包含一个保存数据的位置。值都在同一个地方读写ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值