ES6入门(一)

在ES6的标准下,声明变量有6中方式:分别是var 、function 、let 、const 、class 、import,其中var 、function 是es5标准下声明变量的两种方式。该篇主要介绍一下let const声明变量时的注意事项及其特性:

1、let声明变量(块级作用域)

(a)、用法与var声明变量类似,只是其声明变量的作用域在let所在的代码块中。在for循环中尤其明显。

for(var i=0;i<5;i++){
//dosomething
}
console.log(i);//5
for(let i=0;i<5;i++){
//dosomething
}
console.log(i);//i is not defined

(b)、不存在变量提升,在es5下使用var 声明变量存在变量声明提前的情况。

console.log(name);//undefined
var name = "张三";

console.log(age);//报错ReferenceError
let age = 18;

(c)、只要块级作用域中存在let命令,其块级作用域中的变量就受外界同名变量的影响,而且在有let声明的变量中,必须先声明在使用;

var age = 18;

if(true){
age =19;//报错
let age;
}
只能这么使用:
if(true){
let age;
age=18;
}

(d)、在相同的作用域中不能有同名的变量存在。不论其中有一个变量是用var声明的还是在函数中传入的。

(e)、块级作用域可以嵌套,但是外层的作用域无法访问内层作用域的变量。

{{{
{let age=18;}
console.log(age);//报错
}}}
2、const声明变量(块级作用域)

const声明变量其实与let声明变量是没有什么太大的区别,主要的区别是:

const声明的是一个只读常量,修改常量值会报错。实际上不是const的值不能改变,而是变量指向内存的那个地址不能改变。

const声明的常量,必须在一开始就初始化,不能等到后面在赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值