JavaScirpt基础 之 getter 和 setter

简介: getter 和 setter

JavaScirpt基础 之 getter 和 setter

getter 和 setter

类中我们可以使用 getter 和 setter 来获取和设置值,getter 和 setter 都需要在严格模式下执行。

getter 和 setter 可以使得我们对属性的操作变的很灵活。

类中添加 getter 和 setter 使用的是 get 和 set 关键字。

以下实例为 sitename 属性创建 getter 和 setter:

实例

class Baidu {
  constructor(name) {
    this.sitename = name;
  }
  get s_name() {
    return this.sitename;
  }
  set s_name(x) {
    this.sitename = x;
  }
}
 
let noob = new Baidu("百度");
 
document.getElementById("demo").innerHTML = noob.s_name;

注意:即使 getter 是一个方法,当需要获取属性值时也不要使用括号。

getter/setter 方法的名称不能与属性的名称相同,在本例中属名为 sitename。

很多开发者在属性名称前使用下划线字符 _ 将 getter/setter 与实际属性分开:

以下实例使用下划线 _ 来设置属性,并创建对应的 getter/setter 方法:

实例

class Baidu {
  constructor(name) {
    this._sitename = name;
  }
  get sitename() {
    return this._sitename;
  }
  set sitename(x) {
    this._sitename = x;
  }
}
 
let noob = new Baidu("百度");
 
document.getElementById("demo").innerHTML = noob.sitename;


要使用 setter,请使用与设置属性值时相同的语法,虽然 set 是一个方法,但需要不带括号:

实例

class Baidu {
  constructor(name) {
    this._sitename = name;
  }
  set sitename(x) {
    this._sitename = x;
  }
  get sitename() {
    return this._sitename;
  }
}
 
let noob = new Baidu("百度");
noob.sitename = "Baidu";
document.getElementById("demo").innerHTML = noob.sitename;
目录
相关文章
|
JavaScript 前端开发
Vue的getter和setter方法是干什么的?底层原理是什么?
Vue的getter和setter方法是干什么的?底层原理是什么?
649 0
|
3天前
|
前端开发 Oracle 关系型数据库
关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
本文主要分享了在使用SSM+JSP进行网站开发时,因忽视setter、getter的隐式调用问题而导致的常见bug及其解决方法。详细介绍了setter和getter的隐式调用时机,并给出了具体示例,帮助开发者避免类似问题。
28 11
|
3月前
构造函数注入和 Setter 依赖注入
【8月更文挑战第22天】
33 0
|
6月前
|
JavaScript API
Vue之数据代理(getter、setter)
Vue之数据代理(getter、setter)
|
11月前
通过getter获取setter函数
通过getter获取setter函数
46 1
|
Java 数据库 容器
@Inject 标记在setter方法上的作用
@Inject 标记在setter方法上的作用
|
前端开发
前端学习案例16-setter和getter的应用
前端学习案例16-setter和getter的应用
50 0
前端学习案例16-setter和getter的应用
|
JSON 数据格式 网络架构
一个Getter引发的"血案"
一个Getter引发的"血案"
207 0
一个Getter引发的"血案"
|
Java
【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
556 0
【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
|
Swift
懒加载和getter,setter
懒加载和getter,setter
198 0