ES6学习笔记(一)(整理阮一峰大神入门)
2017-03-27 15:30
330 查看
一、ES6声明变量的六种方法
ES5 只有两种声明变量的方法:
一共有6种声明变量的方法。
1、let变量在代码块中有效。比如用for循环计数器,就很适合用let变量。
2、
3、typeof将不再安全。在代码块内,使用
dead zone,简称 TDZ)。“暂时性死区”也意味着
二、块级作用域
1、es5和es6比较:es5 只有全局作用域和函数作用域,没有块级作用域。
2、let实际上为javascript新增了块级作用域
3、es6 允许块级作用域的任意嵌套。
4、es5规定函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明,严格模式下会报错。为ES5和es6环境避免报错
4000
,应不要在块级作用域里声明函数。
三、const命令
1、
2、
3、
4、对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。
const foo = {};
// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123
// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
ES5 只有两种声明变量的方法:
var命令和
function命令。ES6除了添加
let和
const命令,另外两种声明变量的方法:
import命令和
class命令。所以,ES6
一共有6种声明变量的方法。
1、let变量在代码块中有效。比如用for循环计数器,就很适合用let变量。
2、
var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为
undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。为了纠正这种现象,
let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。
3、typeof将不再安全。在代码块内,使用
let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal
dead zone,简称 TDZ)。“暂时性死区”也意味着
typeof不再是一个百分之百安全的操作。变量
x使用
let命令声明,所以在声明之前,都属于
x的“死区”,只要用到该变量就会报错。因此,
typeof运行时就会抛出一个
ReferenceError。
二、块级作用域
1、es5和es6比较:es5 只有全局作用域和函数作用域,没有块级作用域。
2、let实际上为javascript新增了块级作用域
3、es6 允许块级作用域的任意嵌套。
4、es5规定函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明,严格模式下会报错。为ES5和es6环境避免报错
4000
,应不要在块级作用域里声明函数。
三、const命令
1、
const声明一个只读的常量。一旦声明,常量的值就不能改变。
2、
const的作用域与
let命令相同:只在声明所在的块级作用域内有效。
3、
const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用
4、对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。
const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心。
const foo = {};
// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123
// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
相关文章推荐
- 新手入门系列(三)——Brew常见错误整理(转贴外加整理)
- Informix入门之——SQL函数整理
- 最近整理的SqlHelper入门使用实例分享给大家
- Javascript入门学习资料收集整理篇
- JavaScript的学习入门整理篇第1/3页
- Javascript入门学习资料收集整理篇
- 学习GAWK入门(整理)
- ArcGIS入门与应用相关资料整理
- 最近在学ExtJs....一种很酷的技术....我在这也整理了一点入门的资料
- Informix入门之——SQL函数整理
- linux新手入门问题收集[整理]
- ajax 入门基础之--XMLHttpRequest对象总结(整理转)
- 最近整理的SqlHelper入门使用实例分享给大家
- Apache Ant入门材料整理
- Java新手入门——整理的SCJP听课笔记
- wap(Wireless Application Protocol)入门部署设置及整理搜集了好多好多资料
- wap(Wireless Application Protocol)入门部署设置及整理搜集了好多好多资料
- wap(Wireless Application Protocol)入门部署设置及整理搜集了好多好多资料
- LINUX入门级常用命令20条整理
- JavaScript的学习入门整理篇第1/3页