变量提升
新建一个index.ts,并输出以下内容
console.log("------ start"); console.log(c); console.log(d); console.log("------ end"); var c = 100; let d = 99; console.log("****** start"); console.log(c); console.log(d); console.log("****** end");打开控制台编译
tsc index.tsconsole.log("------ start"); console.log(c); console.log("------ end"); var c = 100; console.log("****** start"); console.log(c); console.log("****** end");重新编译
tsc index.ts查看生成的index.js文件
console.log("------ start"); console.log(c); console.log("------ end"); var c = 100; console.log("****** start"); console.log(c); console.log("****** end");新建一个html文件并引入这个生成的js文件
查看浏览器控制台的输出
可以看到在var之前进行console.log是可以输出的,只不过值是undefined,因为var声明的变量会提升到当前作用域的顶部,而let声明的会在编译的时候报错!