typescipt-var变量提升

变量提升

新建一个index.ts,并输出以下内容

TypeScript 复制代码
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");

打开控制台编译

TypeScript 复制代码
tsc index.ts
TypeScript 复制代码
console.log("------ start");
console.log(c);

console.log("------ end");
var c = 100;

console.log("****** start");
console.log(c);

console.log("****** end");

重新编译

TypeScript 复制代码
tsc index.ts

查看生成的index.js文件

TypeScript 复制代码
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声明的会在编译的时候报错!

相关推荐
喵了meme7 小时前
C语言实战练习
c语言·开发语言
Delroy7 小时前
一个不懂MCP的开发使用vibe coding开发一个MCP
前端·后端·vibecoding
imkaifan7 小时前
bind函数--修改this指向,返回一个函数
开发语言·前端·javascript·bind函数
xkxnq7 小时前
第一阶段:Vue 基础入门(第 7 天)
前端·javascript·vue.js
光头闪亮亮7 小时前
企业协同办公系统(OA)-【图标选择器】模块开发详解
前端·javascript·vue.js
pas1367 小时前
22-mini-vue props
前端·javascript·vue.js
love530love7 小时前
EPGF 新手教程 12在 PyCharm(中文版 GUI)中创建 Poetry 项目环境,并把 Poetry 做成“项目自包含”(工具本地化为必做环节)
开发语言·ide·人工智能·windows·python·pycharm·epgf
pas1367 小时前
23-mini-vue 实现 emit 功能
前端·javascript·vue.js
百度地图汽车版7 小时前
【智图译站】基于 LightGBM 与 GNSS 多特征驱动的 NLOS 误差可靠识别方法
前端
White_Can7 小时前
《C++11:列表初始化》
c语言·开发语言·c++·vscode·stl