This website requires JavaScript.

TypeScript

TypeScript 2.9+ 版本中的几个知识点

TypeScript 2.9+ 版本中的几个小知识点,resolveJsonModule,unknown 与 const 断言

2019.05.26 228 次阅读 6245 条评论

巧用 TypeScript(五)-- infer

`infer` 最早出现在此 [PR](https://github.com/Microsoft/TypeScript/pull/21496) 中,表示在 `extends` 条件语句中待推断的类型变量。

2019.03.14 603 次阅读 2 条评论

巧用 TypeScript(四)

## 用 Decorator 限制类型 Decorator 可用于限制类里方法的返回类型,如下所示: ```ts const TestDecorator = () => { return ( target: Object, key: string | symbol, descriptor: TypedPropertyDescriptor<() => number>

2018.12.16 669 次阅读 7 条评论

使用 NestJS 开发 Node.js 应用

[NestJS](https://github.com/nestjs/nest) 最早在 2017.1 月立项,2017.5 发布第一个正式版本,它是一个基于 Express,使用 TypeScript 开发的后端框架。设计之初,主要用来解决开发 Node.js 应用时的架构问题,灵感来源于 Angular。在本文中,我将粗略介绍 NestJS 中的一些亮点。

2018.12.02 726 次阅读 0 条评论

巧用 TypeScript(三)

创建一个数组很简单: ```ts const arr = [1]; ``` 此时 TypeScript 将会推断 `arr` 类型为 `number[]`: ```ts arr.push('1'); // Error ``` 当数组元素具有其它类型时,可以通过类型注解的方式: ```ts const arr: Array<string | number> = [1]; arr.pus

2018.11.17 774 次阅读 34 条评论

巧用 TypeScript(二)

Decorator 早已不是什么新鲜事物。在 TypeScript 1.5 + 的版本中,我们可以利用内置类型 `ClassDecorator`、`PropertyDecorator`、`MethodDecorator` 与 `ParameterDecorator` 更快书写 Decorator,如 `MethodDecorator `

2018.11.04 988 次阅读 3 条评论

巧用 TypeScript(一)

以下问题来自于与公司小伙伴以及网友的讨论,整理成章,希望提供另一种思路(避免踩坑)解决问题。

2018.10.07 2354 次阅读 16 条评论

TypeScript Deep Dive 中文版

正如你所见,TypeScript 发展至今,已经成为大型项目的标配,其提供的静态类型系统,有利于我们尽早检查出程序错误;同时,它提供的最新和不断发展的 JavScript 特性,能让我们的代码更加健壮;此外,配合编辑器给予的代码提示,它有助于我们编码效率的提升,在一定程度上,它有利于项目的重构。

2018.08.23 1353 次阅读 9 条评论

从 Vue typings 看 “this”

在 2.5.0 版本中,Vue 大大改进了类型声明系统以更好地使用默认的基于对象的 API。 意味着当我们**仅是安装 Vue 的声明文件**时,一切也都将会按预期进行: - this,就是 Vue。 - this 上,具有 Methods 选项上定义的同名函数属性。 - 在实例 data、computed、prop 下定义的属性/方法,也都将会出现在 this 属性上。

2018.07.18 749 次阅读 8 条评论

在 Vue 中使用 TypeScript 的一些思考(实践)

使用 TypeScript 写 Vue 组件时,有两种推荐形式: - `Vue.extend()`:使用基础 Vue 构造器,创建一个“子类”。此种写法与 Vue 单文件组件标准形式最为接近,唯一不同仅是组件选项需要被包裹在 `Vue.extend()` 中。 - `vue-class-component`:通常与 `vue-property-decorator` 一起使用,提供一系列装饰器。

2018.07.05 1638 次阅读 0 条评论

vue-cli 3.0 下发布一个 TypeScript 组件

vue-cli 发布在即,TypeScript 也日益普及,于是借此机会,将以前写过的一个插件 [vue-loading-template](https://github.com/jkchao/vue-loading) 用 TypeScript 重构,并添加一些实用的功能。

2018.06.24 761 次阅读 13 条评论

TypeScript 模块导入那些事

在之前的版本,TypeScript 对 CommonJs/AMD/UMD 模块的处理方式与 ES6 模块相同,这会导致一些问题: - 如前文所提到的,当导入一个 CommonJs/AMD/UMD 模块时,TypeScript 视 `import * as koa from 'koa'` 与 `const koa = require('koa')` 等价,但使用 `import * a

2018.06.11 1002 次阅读 2 条评论

记一次偷懒实践

通常在 vue-cli 脚手架 src 目录下,有一个 api 文件夹,用来存放被抽离出的 API 请求。 其中 module 文件夹下存放各模块抽离的 API,axios.ts 文件创建 axios 的一个实例,并添加一些公共配置(如:baseURL, timeout,拦截器等),index.ts 即是向外暴露各种 API 方法。

2018.05.27 725 次阅读 4 条评论

TypeScript 的第二次分享 PPT

2018.05.13 1111 次阅读 6 条评论

使用 TypeScript 开发你的项目

早在去年(2017),TypeScript 赢来了它的爆发式增长。时至今日,越来越多的开发者意识到 JavaScript 在构建大型项目时的不足之处。JavaScript 是动态类型的,只能在 runtime 时进行类型检查;同时它也给重构大型项目时带来了的困扰,在一定程度上,它是不「易读」的。而 TypeScript 能够很好的解决上述问题。

2018.04.23 944 次阅读 0 条评论

数据结构与算法(更新中)

时间频度: 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才知道。一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行的次数多,它花费时间就多。一个算法中语句执行次数称为语句频度或时间频度,记为 T(n)

2018.03.20 912 次阅读 2 条评论

设计模式在 TypeScript 中的应用 - 中介者模式

定义:当一个系统中对象之间的关系呈下图所示的网状结构的关系时,一个对象会影响到其他对象,同时也会受到其他对象的影响。这将会导致一个过渡耦合的系统。中介者模式即是使用一个中介对象,来封装一系列对象的交互,中介者使各对象不需要显示的相互引用,从而使其耦合松散。

2018.01.27 898 次阅读 5 条评论

设计模式在 TypeScript 中的应用 - 责任链模式

假设有一个请假的例子,约定如下: - 请假 1 天时,需由部门副经理审批。 - 请假 2 - 3 天时,需由部门经理审批。 - 请假 4 - 5 天时,需有公司副总经理审批。 - 请假 5 天以上时,需由公司总经理审批。

2018.01.13 788 次阅读 0 条评论

设计模式在 TypeScript 中的应用 - 享元模式

思路: 存在大量对象时,把其中共同部分抽离出来,如果有相同的业务请求,直接返回内存中已有对象; 需区分内部状态和外部状态: - 内部状态存储在享元对象内部,可以共享。 - 外部状态随环境改变,不可以共享。享元对象的外部状态由客户端保存,在被享元对象创建以后,在需要使用时,再传入享元对象内部。

2018.01.07 793 次阅读 5 条评论

设计模式在 TypeScript 中的应用 - 模板模式

在 TypeScript 继承代码中,模板模式比较常用。 定义 一个抽象类,公开定义它的方法和模板,由子类按需重写方法实现。 实现 思路: - 抽象类实现模版方法; - 子类实现继承,按需修改;

2018.01.05 861 次阅读 4 条评论
上一页