好程序员web前端学习路线之在JavaScript中使用getters和setter

354 篇文章 0 订阅
248 篇文章 0 订阅

  好程序员web前端学习路线之在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对象时,您不一定必须使用getter和setter,但在许多情况下它们可能会有所帮助。最常见的用例是(1)保护对数据属性的访问,以及(2)在获取或设置其值之前向属性添加额外的逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值