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

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
李少兄1 天前
JavaScript 隐式全局变量解析
javascript