javascript 获取属性-JavaScript核心知识(五):面向对象(中)——数据属性描述符

javascript对象的两个属性描述

事实上,JavaScript 对象的运行时是一个“属性的集合”。 属性使用字符串或符号作为键,使用数据属性属性值或访问器属性属性值作为值。

对象是一个属性的索引结构(索引结构是一种常见的数据结构,我们可以将其理解为可以使用键以相对较快的速度查找值的字典)。 {可写:truejavascript 获取属性,值:1javascript 获取属性,可配置:true,可枚举:true}是值。

为什么有人说“JavaScript不是面向对象”。 这是因为JavaScript的对象设计与目前主流的基于类的面向对象有很大不同。

但事实上,这样的对象系统设计看起来非常好,而且 JavaScript 提供了完整的运行时对象系统,这使得它能够模仿大多数面向对象的编程范式(JavaScript 中有两种面向对象的编程范式:基于类和基于原型) ),所以它也是一种正统的面向对象语言。

JavaScript语言标准也明确指出JavaScript是一种面向对象的语言。 我认为标准可以这么说是因为 JavaScript 具有高度动态的对象系统。

数据属性描述

它与其他语言的属性概念比较接近。 数据属性有四个特征。 使用 getOwnPropertyDescriptor 查看数据属性。

  // 1.对象字面量默认定义
  let obj = {a:'111'}  
  //上面代码中默认定义了四个数据描述符:value writable enumerable configurable
  // 2.自定义数据描述符
  Object.defineProperty(
    {},'a', {value:'222',writable:false,enumerable:false,configurable:false})
	console.log(obj1.a)//111
  obj2.a = '333';
  console.log(obj2.a)//222

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 获取属性-JavaScript核心知识(五):面向对象(中)——数据属性描述符 https://www.wkzy.net/game/153435.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务