TypeScript 基础语法
TypeScript 程序由以下几个部分组成:
- 模块
- 函数
- 变量
- 语句和表达式
- 注释
第一个TypeScript程序
我们可以使用以下TypeScript 程序来输出 “Hello World”;
//fairy.ts
const hello : sting = "Hello World!"
console.log(hello)
通过 tsc
命令编译:
$ tsc fairy.ts
得到如下js代码:
//fairy.js
const hello = "Hello World!"
console.log(hello)
整个流程如下图:
可以同时编译多个 ts 文件:
tsc file1.ts file2.ts file3.ts
tsc 常用编译参数如下所示:
--help / -h
显示帮助信息。--module
载入扩展模块。--target
设置 ECMA 版本。--declaration
额外生成一个.d.ts
扩展名的文件(会生成 .d.ts 和 .js 两个文件)。--removeComments
删除文件的注释(只是删除编译后的 js文件的注释)。--out
编译多个文件并合并到一个输出的文件(tsc file1.ts file2.ts --out 合并后的文件.js)。--sourcemap
生成一个sourcemap(.map) 文件。(.js.map 是一个存储源代码与编译代码对应位置映射的信息文件)。--module noImplicitAny
在表达式和声明上有隐含的 any 类型时报错--watch
在监视模式下隐形编译器。会监视输出文件,在他们改变是重新编译。
延伸说明 .d.ts 扩展文件作用
TypeScript 相比 JavaScript 增加了类型声明。这些类型声明帮助编译器识别类型,从而防止开发者“搬起石头砸自己的脚”。
原则上,TypeScript 需要开发者做到先声明后使用。这就导致开发者在调用很多原生接口(浏览器、Node.js)或者第三方模块的时候,因为某些全局变量或者对象的方法并没有声明过,导致编译器的类型检查失败。
用 ts 写的模块在发布的时候仍然是用 js 发布,这就导致一个问题:ts 那么多类型数据都没了,所以需要一个 d.ts 文件来标记某个 js 库里面对象的类型。
然后 typings 就是一个网络上的 d.ts 数据库。
d.ts类型定义文件,我感觉现在对我的用处就是编辑器的智能提示。