ts基本语法一let、const命令

let 、const的作用命令相同,只是申明所在块级作用域有效。const申明变量不得改变值,一旦申明后必须初始化。

let 命令

  • 基本用法
var a=[];
for(var i =0;i< 10;i++){
    a[i]=function () {
        console.info(i);
    }
}
a[6]();//10

上面代码代码,变量i 用户var申明,在全局范围有效。每一次循环,变量i的值都会发生改变,而循环内的数组a内部console.info(i),指向全局i。所以最后输出10。
let申明使用

for(let i =0;i< 10;i++){
    a[i]=function () {
        console.info(i);
    }
}
a[6]();//6

代码变量i是let申明,所以i只在本轮循环有效,每次循环都是新的变量,所以最后输出6。

  • 不存在变量提升
console.log(foo);//undefined;
var foo = 2;
console.log(bar);//报错
let bar = 2;

代码变量foo用var申明,发生变量提升,脚本开始执行已经存在,但是没有值。变量bar用let申明,不会发生提升,表示使用它之前,变量bar不存在会报错。

const命令

  • const实际上并不是值不得改动,而是变量指向的那个内存地址所保存的数据不能改动。基本数据类型的数据,值保存的那个内存地址,等同于常量。对象申明常量就不能控制了。
// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123
// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only

总结
typescript函数内变量使用let申明,对于一些常量、箭头函数、import 引用变量名使用const申明;

原博客地址
https://es6.ruanyifeng.com/?search=map&x=0&y=0#docs/let

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容