TypeScript出现的原因?
为了解决JavaScript弱类型的特点。
JavaScript是一种弱类型语言,即变量的类型是不确定的。
x = 8; //8
x = x + 'C'; // '8C'
//x类型先是数字,后面又成字符串。
虽然这样十分灵活,但作用于大项目时,很容易出错,而且往往要到运行时慢慢排查才知道。用TypeScript在编译时就会报错,这能大大降低系统复杂度。
TypeScript是什么?
TypeScript 是微软2012年推出的一种编程语言,属于 JavaScript 的超集,可以编译为 JavaScript 执行。 它的最大特点就是支持强类型和 ES6 Class。它始于javascript,归于javascript,使用了现有的javaScript库,可以在任何支持JS引擎中运行。简单说就是TS = JS + 类型
TypeScript如何使用呢?
很简单,在新建的.ts结尾的文件中(表明这是TS文件),只需像正常写JS代码,有变量时,变量指定类型。
//greet.ts
function greet(person:string){
console.log("Hello, " + person);
}
greet([0,1,2])
函数 greet 的参数,声明类型为字符串,但在调用时,传入了一个数组。
通过tsc转换,就会抛出以下类型不匹配的错误。
greet.ts(5,9): error TS2345: Argument of type 'number[]'
is not assignable to parameter of type 'string'.
其实你不需要运行,就可以知道写错了,加以改正。
还有一些自定义声明类型的写法 type LocalItem = {...}
,具体用到时可查官网。
TypeScript的原理是什么?
为什么它能提前报错呢?其实是因为它有一个预编译的compiler。与JS是如下图这样合作的:
多亏这个预编译的compiler,在预编译时就能报错。但TS也没有十分严苛不让你运行代码,报了错你还是可以运行的。
总之,TS虽然写起来的时候会累,会需要你在各个地方严谨地声明类型,但对程序员是个很好的锻炼,锻炼思维的逻辑和严谨度。