TS出现原因:
前言:
1.JS 是一门解释型语言,其无编译阶段,故其为动态类型,致一些类型错误在编译阶段不会提示报错出来;
2.TS是按类型检查时机区分为静态类型,在编译的时候就会检查类型是否正常;
3.由于JS是弱类型语言,类型会隐式转换,导致后续代码难以维护,从而引入TS针对类型进行约束;
TS特性:
TS在编译时就对类型做校验,此时发现错误就报错,而最终不会将TS内容编译进入JS中去运行;
// 编译前的.ts文件:
function sayHello(person: string) {
return 'Hello, ' + person;
}
let user = 'Tom';
console.log(sayHello(user));
// 编译后的.js文件, ts的类型注释被移除;
function sayHello(person) {
return 'Hello, ' + person;
}
var user = 'Tom';
console.log(sayHello(user));