TypeScript 并不是一门全新的语言, 它是在JavaScript的基础上衍生出来的JavaScript 的一个超集。
TypeScript 由大名鼎鼎的微软公司所开发, 所以前景无限光明。
TypeScript 设计目标是开发大型应用, 它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
TypeScript, 看名字应该可以看出来, Type是 TypeScript 这门语言的特别之处。 了解 JavaScript 的同学都知道, JavaScript 是一门弱类型的语言, 比如, 我们可以在 JavaScript 中这样定义
let a = 1 // a第一次被赋值为number类型的值
a = 3 // a第二次被赋值为number类型的值
a = "hello" // a第三次被赋值为string类型的值
这样定义的变量是不会报错的, 因为在js中允许我们这样定义。 可能我们还会觉得这样定义的感觉很爽, 一个变量既能被赋值为number类型的值, 又能被赋值为string类型的值, 何其美哉。 BUT, 我们不能光顾着开发时的一时之爽, 等到了后期维护的时候才丈二和尚摸不着头脑。 比如, 我们有这样一个求和函数
function sum(a, b) {
return a + b;
}
然后, 我们会这样调用sum函数
let x = sum(1, 2) // x的值为3, 正确
let y = sun(123, "456") // y的值为123456
当我们传入一个string类型值的时候, 函数还是给我们返回了一个结果。 实际上这个结果并不是我们想要的, 或者说当我们传入非number类型值的时候, 编译器应该给我们报错, 这样我们的程序才能更加完善。 当我们的程序只有几行的时候, 我们很容易找到这个问题, 但是, 当我们的程序几千行, 几万行的时候, 要想找到这样一个bug, 是难上加难。 因为 JavaScript 并不认为这个一个错误, 这就是弱类型语言的问题。 TypeScript 就不一样了, 我们可以规定, 参数是什么类型, 函数的调用者就应该传什么类型的值, 否则程序就不能正常运行, 从而在源头上避免了这个问题。 至于怎么使用, 后边会详细说明。
第一个TypeScript实例
console.log("Hello TypeScript")
没错, 这就是最简单的TypeScript代码, 跟 JavaScript 一模一样。
总结: TypeScript 是 JavaScript 的超集, 扩展了 JavaScript 的语法, 因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改。