文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在JavaScript中使用getters和setter

2024-04-02 19:55

关注

这篇文章主要讲解了“怎么在JavaScript中使用getters和setter”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在JavaScript中使用getters和setter”吧!

大多数面向对象的编程语言都存在getter和setter,包括JavaScript。它们是代码构造,可帮助开发人员以安全的方式访问对象的属性。使用getter,您可以从外部代码访问(“获取”)属性的值,而setter允许您更改(“设置”)它们的值。我们将向您展示如何在JavaScript中创建getter和setter。

  JavaScript对象可以具有多个属性和存储的静态数据和动态功能的方法。属性是静态键值对,而方法是特定于对象的函数。

  例如,Car.color可以是属性,而Car.drive()可以是Car对象的方法。使用getter,您可以访问Car对象的color属性,使用setter,您可以修改其值(例如,从蓝色变为黑色)。

  使用getter和setter,您只能获取和设置属性的值,而不能获取方法,因为方法不是静态的。

  您可以通过三种不同的方式创建getter和setter:

  1. 使用默认方法语法(getter和setter方法),

  2. 使用get和set关键字,

  3. 使用Object.defineProperty()方法。

  

Getters和Setters

Getters和Setters使你可以快速获取或设置一个对象的数据。一般来说,一个对象拥有两个方法,分别用于获取和设置某个值,比如:

{

  getValue: function(){

  return this._value;

  },

  setValue: function(val){

  this._value = val;

  }

}

用这种方式写JavaScript的一个明显的好处是:你可以用它来隐藏那些不想让外界直接访问的属性。

吸气方法

获取对象属性的最简单方法是使用每个属性的默认方法语法定义getter。让我们看一个如何使用这种技术创建getter的示例。该MYCAR对象有两个属性:颜色和制作。这是您使用对象文字创建它的方法:

var myCar = {   

    color:“blue”,

    make:“Toyota”

};

如果需要,可以使用以下代码直接访问颜色并创建属性:

myCar.color;

// 蓝色

myCar.make;

//丰田

尽管这种技术有效,但使用getter而不是直接调用属性具有许多优点。例如,您可以在检索其值之前对属性执行操作或检查(例如  if-else语句)。 

关于get关键字最重要的一点是它定义了一个访问器属性,而不是一个方法。因此,它不能与存储其访问的值的数据属性具有相同的名称。在上面的代码中,defColor 和defMake是数据属性,而color和make是访问器属性。

这也是为什么你需要使用在getter名称之后不使用括号的属性语法来调用getter的原因(例如myCar.color)。

由于旧版IE8不支持get关键字,因此如果您需要支持旧版浏览器,请使用getter方法。

感谢各位的阅读,以上就是“怎么在JavaScript中使用getters和setter”的内容了,经过本文的学习后,相信大家对怎么在JavaScript中使用getters和setter这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯