This website requires JavaScript.

TypeScript

TypeScript -- 断言函数

有一类特定的函数,在非预期结果出现时会抛出一个错误。这类函数就叫做断言函数。例如,Node.js 有一个专用的断言函数叫 `assert`。

2019.11.30 128 次阅读 0 条评论

深入理解 TypeScript

大概是在去年 12 月份,电子工业出版社的编辑找到我,问我是否有意出版那时我正在翻译的一本开源书籍(《深入理解 TypeScript》)。当时挺意外的,翻译这本书的初衷,一部分原因是为了自己对于这方面想有更进一步的了解,另一方面则是考虑到当时在国内其实少有对于 TypeScript 深入讲解的资料。但是意外归意外,多多少少心里还是有那么些激动,也正式由于这种一时的激动,让我头脑一热,就签下了出版合

2019.11.24 184 次阅读 2 条评论

我在千寻的五个月(一)

我于五月初入职千寻,开始写这篇文章时,时间间隔恰好五个月。时间不算长,本打算满六个月做一次小总结,无奈这几日心情着实不美丽,于是想通过记录过去五个月所学、所思来平静当下的心情。

2019.10.21 583 次阅读 13 条评论

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

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

2019.05.26 955 次阅读 5 条评论

巧用 TypeScript(五)-- infer

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

2019.03.14 976 次阅读 6 条评论

巧用 TypeScript(四)

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

2018.12.16 1043 次阅读 7 条评论

使用 NestJS 开发 Node.js 应用

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

2018.12.02 1373 次阅读 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 1122 次阅读 34 条评论

巧用 TypeScript(二)

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

2018.11.04 1435 次阅读 3 条评论

巧用 TypeScript(一)

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

2018.10.07 3339 次阅读 17 条评论

TypeScript Deep Dive 中文版

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

2018.08.23 2306 次阅读 9 条评论

从 Vue typings 看 “this”

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

2018.07.18 1001 次阅读 9 条评论

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

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

2018.07.05 2038 次阅读 0 条评论

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

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

2018.06.24 1178 次阅读 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 1304 次阅读 2 条评论

记一次偷懒实践

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

2018.05.27 923 次阅读 4 条评论

TypeScript 的第二次分享 PPT

2018.05.13 2080 次阅读 6 条评论

使用 TypeScript 开发你的项目

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

2018.04.23 1227 次阅读 0 条评论

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

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

2018.03.20 1142 次阅读 2 条评论

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

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

2018.01.27 1130 次阅读 5 条评论
上一页