2015-11-30 16:29
Typescript: the Good Parts
本文作者:IMWeb 杨文坚 原文出处:IMWeb社区 未经同意,禁止转载
Typescript: the Good Parts
Douglas Crockford 曾经扯了个Javascript的蛋,这次我来学一下,扯一下Typescript的。
ES6 import make no sense ?
如果我们这样是import
模块会怎么样呢?
import * as lib from libPath;
sorry,这根本走不通,因为import
是个静态语法,设计者根本不希望模块加载和上下文有关系。静态化有什么好处?
- 编译/解析器可以做更好地预处理进行优化,比如解决令我们头疼的
NodeJS require is dog slow!
。 - 为未来实现
宏
提供可能性
Optional Type System
我就喜欢苗条,为啥要加类型?
- Key Point:
单页应用
、客户端应用
和服务端应用
单人搞不定,需要很多人,并没有适用于Javascript这种无类型语言的团队开发模式,但面向对象,面向接口这些开发方式在有类型语言已经非常成熟。
有类型到底有什么好处呢?
- 编译时发现错误
- 代码提示
- 安全快速重构
- 面向对象、面向接口编程
- 性能优化
- IDE支持
- Duck Type
我们难道不能等标准来临么?
符合审美的类型标准ES6、ES7没有,甚至ES8也不会有。
Better Async way you must wanted
怎么写异步比较好?
async function
解决你所有问题。
async function main() {
await ping();
}
async function ping() {
for (var i = 0; i < 10; i++) {
await delay(300);
console.log("ping");
}
}
function delay(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms));
}
main();
Any JavaScript code is a valid TypeScript code
可以直接在Typescript中只使用Javascript而不会产生任何问题,这样对迁移和混用都足够友好。
条评论