You can create an easy to chain API using TypeScript classes. Learn about the thisreturn type annotation and how it plays with function chaining and class inheritance.

class Adder {
protected acc: number = ;
add(num: number): Adder {
this.acc += num;
return this; // enable to chain methods
} get result() {
return this.acc;
}
} const adder = new Adder()
const res = adder.add().add().result;
console.log(res); // class Calculator extends Adder {
subtract(num: number): Calculator {
this.acc -= num;
return this;
}
} const cal = new Calculator();
const res2 = cal.add().add().subtract().result;
console.log(res2) // -97

You can also do:

const res2 = new Calculator()
.add()
.add()
.subtract()
.result;
console.log(res2) // -97

最新文章

  1. UML Sequence sample: if-else
  2. Wordnet的一些简单使用
  3. jquery只能输入数字方法
  4. hud 2502 月之数
  5. js 函数的调用模式
  6. Android Paint中setTextSize
  7. Android(java)学习笔记232:Android进程间通讯(IPC)之AIDL
  8. jquery的冒泡事件event.stopPropagation()
  9. vue实现简单表格组件
  10. MySQL数据库将多条记录的单个字段合并成一条记录
  11. ArcGIS for JavaScript学习(二)Server发布服务
  12. 记录一下putty的pscp的用法【转】
  13. zabbix的自动发现、自定义添加监控项目、配置邮件告警
  14. 牛客网练习赛7-D-无向图(bfs,链式前向星)
  15. vue+axios实现移动端图片上传
  16. boost生成json中的put操作
  17. Shell脚本查询进程存活信息
  18. Android背景颜色渐变
  19. linux 下的 crontab 定时任务工具
  20. Springboot用官方建议访问Html页面并接传值

热门文章

  1. Native开发与JNI机制详解
  2. Mybaits中session的应用一
  3. .net core 分布式性能计数器的实现
  4. 15、python学习手册之:python语句、赋值、表达式和打印
  5. css实现简单的告警提示动画效果
  6. Git 经常使用命令
  7. NHibernate3剖析:Mapping篇之集合映射基础(2):Bag映射
  8. CSS笔记 - fgm练习 2-9 - 播放列表收缩展开
  9. Hamming correct
  10. Android 蓝牙扫描代码