- ES6声明变量的方法:var、function、let、const、import、class
- let命令用于声明变量,其用法类似于var。let命令和var命令的区别:
- let命令所声明的变量值在let命令所在的代码块内有效,而var声明的变量在全局环境中都有效。
if(true){ let a=5; var b=2; } console.log(a); // ReferenceError: a is not defined console.log(b); // 2
2. let不存在变量提升,而var存在变量提升现象。
>console.log(typeof(x));// ReferenceError: a is not defined let x=5; console.log(a); // undefined var a=2;
3. 在代码块内,使用let命令声明变量之前,该变量都是不可用的。也就是存在“暂时性死区”现象。
>var a=3; if(true){ a="abc"; // ReferenceError: a is not defined let a; }
4. let不允许在相同作用域内重复声明同一个变量,而var可以多次声明同一个变量。
>var b="init b"; var b="second"; console.log(b); // "second" var a=10; let a=2; //报错:“Identifier 'a' has already been declared”
- const命令用于声明常量。一旦声明,其值就不能改变。其特性与let相似,不存在常量提升,存在暂时性死去,作用域为其块级作用域,不允许重复声明常量。
const PI=3.1415; PI=2; // TypeError: Assignment to constant variable
- ES6规定,var命令和function命令声明的全局变量依旧是全局对象的属性,而let命令、const命令和class命令声明的全局变量不属于全局对象的属性。
第2章 let和const命令
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1、let命令 作用域 let命令与var基本相似,只是let所声明的变量只在let代码块内有效。 因为变量使用l...
- 本文属个人笔记,不做详解,仅供参考! let命令 基本用法 ES6 新增了let命令,用来声明变量。它的用法类似于...