es6笔记:let和const命令

let和var

Let的块级作用域和var的局部变量

一个函数中的一个if语句中用var定义的变量和用let定义的变量

Var定义的变量是在整个函数里面有效,但是let定义的变量只是在if的块级作用域中有效

在代码块内,使用let命令声明变量之前,该变量都是不可用的,对tmp赋值会报错

 

Es5只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景

 

 

Let实际上为javascript新增了块级作用域

块级作用域和函数声明

Es5中规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域中声明

Es6中引入了块级作用域,明确允许在块级作用域之中声明函数,但是在块级作用域之外不可引用

 

 

Const 和let都是先声明后使用,只在声明的块级作用域内有效,不可重复声明

Const本来是用来声明常量的,常量的值是不能够改变的,所以必须在声明的时候就对常量赋值

如果将一个对象用const 声明为常量,那么储存的是对象的地址,可以改变对象的地址,但是不能让这个常量指向另一个对象地址

const foo={name:’111’};

foo={};//就会报错

 

 

顶层对象的属性

顶层对象,在浏览器环境中指的就是window对象,在node指的是global对象

用var和function命令声明的全局变量,依旧是顶层对象的属性,let命令,const命令,class命令声明的全局变量,不属于顶层对象的属性

 

 

 

Es6声明变量的六种方法:

Es5只有两种声明变量的方法,var命令和function命令。es6除了添加let和const命令,后面章节还会提到,另外两种声明变量的方法:import命令和class命令,所以,es6一共会有六种声明变量的方法

 

http://es6.ruanyifeng.com笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值