ES6 阮一峰阅读学习

Posted gamedaybyday

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 阮一峰阅读学习相关的知识,希望对你有一定的参考价值。

参考:

ECMAScript6入门

 

一、ECMAScript6简介

1. 什么是ECMAScript6? javascript语言的下一代标准。2015年6月发布,正式名称是《ECMAScript2015标准》。

思考:编程语言和英语、法语语言差不多吧。其实就是语言的标准、规范之类,和英语语法差不多的东西吧 = =!

 

二、let和const命令

1. let

1.1 声明的变量仅在块级作用域内有效

1.2 不存在变量提升

1.3 暂时性死区:使用let命令声明变量之前,该变量是不可用的

1.4 不允许重复声明

let a = 1;

思考:其实就是var变量自动提升和作用域容易产生错误,而出现let这样一个严谨定义的“局部变量”。

 

2. 块级作用域

ES5只有全局作用域、函数作用域。ES6有了块级作用域,块级就是{ }, 花括号内就是块级作用域的范围

思考:这个作用域有啥子用呢,平时也不使用{}来当作用域。

 

3. const命令

1.1 声明一个只读的常量,常量的值不能改变(变量指向的内存地址的数据不得改动)

1.2 只在声明的块级作用域内有效

1.3 生命对象时,对象的值可改变,只是不能把变量指向另一个对象

const PI = 3.1415;

思考:这个const在其他语言里,用在比如事件名、模块名等等限制变量改变,比如publist static const LOGIN_EVENT:string = "LOGIN_EVENT"

           但是ES6里这个只能当成局部变量用...好想并没啥用...

 

三、变量的解构赋值

1.1 什么是解构? ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。

let a ;
let b ;
[a,b] = [1,2];
console.log(a,b);  //1,2

思考:个人看这个赋值比较难读不习惯,感觉用在swap交换数值上很好用,不需要定义temp临时变量写3行了 = =!

let a = 1;
let b = 2;
[a,b] = [b,a];
console.log(a,b);  //2,1

 

 

 

  

 

以上是关于ES6 阮一峰阅读学习的主要内容,如果未能解决你的问题,请参考以下文章

关于阮一峰老师es6(第三版)中管道机制代码的理解浅析

ES6(阮一峰)学习总结

阮一峰老师的ES6入门:变量的解构赋值

1.《ES6标准入门》(阮一峰)--3.变量的解构赋值

1.《ES6标准入门》(阮一峰)--2.let 和 const 命令

ES6深入学习记录编程风格