优雅的Typescript
文章平均质量分 73
即刻开始,使用typescript开发吧!
小辣抓
<WEB /> Developer
展开
-
使用 TSLint 规范你的代码 自定义Rule
使用 TSLint 规范你的代码 自定义RuleTSLint可以帮你规范你的代码,配合 vs code 上的 TSLint 插件,可以帮你治疗你的代码洁癖。为了统一公司内的代码风格,最近公司也要开发一些 Rule,配合 Prettier 还不是美滋滋?而我就是负责这个 Rule 的开发,TSlint 在国内的资料少之又少, 并且 TSLint 自己的文档对开发自定义 Rule 也是描述的很...原创 2018-08-11 14:58:51 · 11106 阅读 · 1 评论 -
typescript ts 基本数据类型本质
最近Google 和 Microsoft 因Angular2 走的很近。 而其中的原因离不开Angular2的基础语言 : typescript。typescripttypescript(以下简称ts)和coffeescript一样,都是js的语法糖。因此,ts仅仅是js的超集而已,在实际的应用运行中,ts还是会被转换为js进行运行,多了一道转换,当然也就削减了一部分的性能。ts给我的感觉是不断的原创 2017-06-19 15:03:43 · 5339 阅读 · 0 评论 -
Angular2 ElementRef 实现低耦合高内聚 视图应用分离
为什么需要ElementRefAngular一直在做的一件事情就是降低视图层和应用层之间的耦合,在应用层直接操作DOM,会导致应用层和视图层之间强耦合,导致我们不能将应用运行在不同的环境中。比如令js能够实现多线程的webWorker,在webWorker中,却不能直接操作DOM,angular为我们封装了一个对象,叫做ElementRef,能够获取到视图层中的native对象,比如在浏览器中,na原创 2017-07-06 23:40:33 · 4548 阅读 · 0 评论 -
JS-Javascript 迭代器设计模式 Iterator pattern
这篇博文简短的提一下Iterator的设计模式,以及这种设计模式给我们带来什么样的好处。1.begin为了体现面向对象的特性(近年来的ES6为这方面做了很大的努力),此篇博文的语言编写基于typescript,当然也会附上原生js的书写方式。1.1迭代器给我们带来了什么样的好处迭代器可以使我们快速的遍历一个序列对象,一个良好的迭代器使我们不用了解该序列底层的结构,而只用关心拿到值之后的处理,并且迭代原创 2017-07-24 22:56:42 · 2415 阅读 · 0 评论 -
RxJS的秘密 Observable 可观察对象
前言最近因为Angular2了解到了RxJS这个东西,总的来说,RxJS的出现也是为了解决异步回调的,它针对于事件序列。RxJS是一个通过使用可观察序列来构建异步和基于事件的程序的库。它提供了一个核心类型:Observable、卫星类型(大概是这些类型均围绕于Observable,也就是Observable是根基,而这些是辅助类型):Observer、Schedulers、Subjects)和操作符原创 2017-07-26 11:39:41 · 4743 阅读 · 0 评论 -
RxJS Subject 主题 EventEmitter对象 组播Multicast
Subject主题什么是Subject?Subject是允许值被多播到多个观察者的一种特殊的Observable。然而纯粹的可观察对象是单播的(每一个订阅的观察者拥有单独的可观察对象的执行)。Subject就是一个可观察对象,只不过可以被多播至多个观察者。同时Subject也类似于EventEmitter:维护者着众多事件监听器的注册表。每一个Subject都是一个observable可观察对象,给原创 2017-07-29 22:21:47 · 3454 阅读 · 0 评论 -
依赖注入(DI)和控制反转(IOC)
首先要解决的两个问题。1.什么是控制反转和依赖注入2.为什么我们需要控制反转和依赖注入什么是控制反转和依赖注入控制反转(Inversion of control) 是一种解耦的思想,它顾名思义,就是控制权的转移,比如项目经理让你改需求,这里就发生了控制权的转移,主要有三步:1.项目经理要求你添加功能 (这时,控制权在项目经理)2.你接到通知后开始添加功能需求 (控制权在你手上)3.交付需求成品(控制原创 2017-08-02 12:50:36 · 4563 阅读 · 0 评论 -
【Redux】基于Typescript的精简版Redux实现
前言在学习Redux之前,我希望做出一个精简版的redux。这能帮助我们更好地理解redux。为什么我们需要reduxRedux 的创造者 Dan Abramov 说过:“只有遇到react解决不了的问题,你才需要redux”。 因此,redux不是必须,我们需要知道,什么时候我们才需要redux,像一些业务逻辑简单的应用,状态不会多到难以管理,那我们就不需要redux,相反,这种情况下引入red原创 2017-11-08 15:59:41 · 2069 阅读 · 0 评论 -
即刻开始!使用Typescript开发Node
即刻开始!使用Typescript开发Nodetypescript(以下简称为ts)是js的超集,它有独立的编译器,为js提供了很多种类型,能够避免js的鸭子类型所产生的类型错误,这种错误有时候是致命的,以至于难以发现。因此我们希望在node中也引入typescript,使程序的编写效率有大大的提高。begin首先我们需要安装typescript的tsc编译器,tsc能够把ts转换为js,因为nod原创 2017-11-29 20:51:21 · 14208 阅读 · 0 评论 -
Typescript-ts 装饰器源码分析——方法装饰器
Typescript-ts 装饰器源码分析——方法装饰器 方法装饰器声明在一个方法的声明之前(紧靠着方法声明)。 它会被应用到方法的 属性描述符上,可以用来监视,修改或者替换方法定义。 方法装饰器不能用在声明文件( .d.ts),重载或者任何外部上下文(比如declare的类)中。方法装饰器表达式会在运行时当作函数被调用,传入下列3个参数:对于静态成员来说是类的构造函数,对于实例成...原创 2018-02-23 22:23:24 · 1903 阅读 · 0 评论 -
使用Typescript实现依赖注入(DI)
使用Typescript实现依赖注入(DI)前言DI总是和ico相辅相成的,如果想对DI有更多的了解,可以移步我的另一篇文章 依赖注入(DI)和控制反转(IOC),再次我就不多做赘述了。前几天看见一道面试题,今天借这个话题想跟大家分享一下:为什么在实际开发中,我们总是用DI,而不是用工厂模式,工厂模式也能实现同样的效果emmmm,想了一下,DI相当于是一种把当前对象和它所...原创 2018-04-01 10:26:33 · 7120 阅读 · 1 评论