什么是TypeScript?
Typed JavaScript at Any Scale.添加了类型系统的 JavaScript,适用于任何规模的项目。
TypeScript
是添加了类型系统的
JavaScript
,适用于任何规模的项目。
TypeScript
是一门静态类型、弱类型的语言。
TypeScript
是完全兼容
JavaScript
的,它不会修改
JavaScript
运行时的特性。
TypeScript
可以编译为
JavaScript
,然后运行在浏览器、
Node.js
等任何能运行
JavaScript
的环境
中。
TypeScript
拥有很多编译选项,类型检查的严格程度由你决定。
TypeScript
可以和
JavaScript
共存,这意味着
JavaScript
项目能够渐进式的迁移到
TypeScript
。
TypeScript
增强了编辑器(
IDE
)的功能,提供了代码补全、接口提示、跳转到定义、代码重构等
能力。
TypeScript
拥有活跃的社区,大多数常用的第三方库都提供了类型声明。
TypeScript
与标准同步发展,符合最新的
ECMAScript
标准(
stage 3
)。
TypeScript与JavaScript的区别
TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与TypeScript 一起工作无需任何修改, TypeScript 通过类型注解提供编译时的静态类型检查。TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。
![](https://i-blog.csdnimg.cn/blog_migrate/d96c021fdbb2204ccf1904996369b54a.png)
安装TypeScript命令行工具
npm install -g typescript
以上命令会在全局环境下安装
tsc
命令
TypeScript的第一个例子
新建文件夹,并在其中新建
hello.ts
,放入以下代码:
function sayHello(text: string) {// 在 TypeScript 中,我们使用 : 指定变量的类型
return `hello ${text} !`;
}
let text = "world";
console.log(sayHello(text));
命令行中执行
tsc hello.ts
,此时会得到编译成功后的
js
文件,内容为:
function sayHello(text) {
return "hello " + text + " !";
}
var text = "world";
console.log(sayHello(text));
此时如果
text
为数字,则编译时会出现报错:
类型为“number”的参数不可分配给类型为“string”的参数
但仍然编译生成了
js
文件,如果要在报错的时候终止
js
文件的生成,可以在
tsconfig.json
中配置
noEmitOnError
即可