网上鲜有get和set的方法的实例,在这边再mark一下。

get和set我个人理解本身只是一个语法糖,它定义的属性相当于“存储器属性”

为内部属性提供了一个方便习惯的读/写方式

ES5写法

 1 function Number(num) {
 2   this._num = num           //这里的_num和get/set方法num()不能重名
 3 }
 4
 5 //get/set方法使用同一个命名,增加可读性
 6 Number.prototype = {
 7   get num() {
 8     return this._num;
 9   },
10
11   set num(num) {
12         this._num = num;
13   }
14 }
15
16 var test = new Number(8);
17 console.log(test.num);
18 test.num = 88;
19 console.log(test.num);

输出:

>8

>88

在这里,定义了Number类的一个值_num,再原型中注入set和get方法,此时就可以使用test.num取值和赋值,更加直观。

ES6写法

再看看用ES6中class的实现:

 1 class Num {
 2   constructor(num) {
 3         this._num = num;
 4   }
 5
 6   get num() {
 7     return this._num;
 8   }
 9
10   set num(num) {
11     this._num = num;
12   }
13
14 }
15
16 var test = new Num(9);
17 console.log(test.num);
18 test.num = 99;
19 console.log(test.num);

输出:

>9

>99

转载于:https://www.cnblogs.com/ljwTiey/p/7387598.html

JavaScript get set方法 ES5/ES6写法相关推荐

  1. JavaScript get set方法 ES5 ES6写法

    title: JavaScript get set方法 ES5/ES6写法 date: 2018-05-07 10:38:50 tags: 前端 categories: 前端 网上鲜有get和set的 ...

  2. react-native ES5与ES6写法对照表

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...

  3. ES6解构赋值: ES6...转为ES5的写法

    es6的特性,主要用于 数组和对象的析构 直接上问题: 因为chrome低版本(用的55版本)不支持es6...的下面这种写法, 需要转为es5写法 function calcLinePaths() ...

  4. ES6写法的reactjs

    reactjs是目前最火的单页面框架,面向ES6语法,使用JSX语法进行组件化开发.JSX语法是把js和html混合起来编写代码,其核心就是以"<"">&qu ...

  5. php es6写法,ES6...扩展运算符(示例代码)

    在数组中的应用 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,++将一个数组转为用逗号分隔的参数序列++. console.log(...[1, 2, 3]) // 1 ...

  6. Js Array数组ES5/ES6常用方法

    Js Array数组ES5/ES6常用方法 1.栈方法(先进后出) push():在数组的最后一项后追加值(参数:可以为多个值或数组) 返回:数组的长度,改变了原数组. var a=[1,2,3] a ...

  7. canvas:心率图案例 + ES5/ES6封装该案例

    主要目的是练习:ES5中函数的封装 和 ES6中class类的封装 1.没有封装 <body><style>canvas {border: 1px skyblue solid; ...

  8. JavaScript的replace方法与正则表达式结合应用讲解

    大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中的事,因为我不是老鸟,也不是菜鸟,我也不知道我当底是什么鸟??呵~~ re ...

  9. JavaScript数据迭代方法差别

    js有很多总迭代方法,ES6之后又新增了几个: 这里主要讨论数组迭代遍历的方法所以不会细讲for...in... ES5.ES6数组迭代方法有: forEach map filter some eve ...

最新文章

  1. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B. Or Game
  2. 第4章 与缓冲区有关的函数
  3. 【机器学习基础】数学推导+纯Python实现机器学习算法15:GBDT
  4. 更改用户密码oracle,oracle数据库更改用户密码
  5. h1、h2、h3标签及strong标签对页面seo的影响
  6. 我不藏了:7个技术体系、共100篇文章、总计1OO万字
  7. web项目上之深入理解Java国际化
  8. 析砂性土层php泥浆护壁,砂卵石层钻探护壁工艺分析
  9. Chronos首页、文档和下载 - 作业调度器 - 开源中国社区
  10. 如何一个动态创建对象?
  11. 优秀架构师是怎么炼成的?
  12. 【HDU 5033】【经典单调栈问题】Building
  13. 2021年最棒的10款Java框架,你喜欢哪个?
  14. html5shiv源码,前端开发必配置:html5shiv.js和respond.min.js的作用说明!
  15. Visual Studio使用教程
  16. 逆函数求导公式_反函数求导公式
  17. 父亲节,各大产品借势宣传文案,每一句都“爸”气十足
  18. [android]so easy实现根据viewpager、edittext、时间使背景动态渐变色效果~
  19. MyBatis官网下载步骤
  20. 对Java的展望_优秀技能经验及对java学习展望

热门文章

  1. 快速搭建MQTT服务器(MQTTnet和Apache Apollo)
  2. Android之shape属性简介和使用
  3. AHK 中的字符串拼接和遍历操作
  4. jenkins 持续集成, 使用sbt多项目同时package
  5. 谷歌正在开发的十大惊人项目
  6. [Linux] linux服务器主机性能、空间监控脚本
  7. MongoDB(window安装及服务配置)
  8. 视频分辨率和音频质量_高分辨率音频的声音是否比CD质量好?
  9. devops相关书籍哪个好_您在DevOps周期中的哪个位置进行安全保护?
  10. vm 和 容器对比_您将VM放在我的容器中