参考:

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

四、字符串的扩展

1.1  字符unicode表示法

以前超出\u0000-\uFFFF范围的字符需要双字节表示 "\uD842\uDFB7",现在只需要加个花括号就行了\u{1F680}。

1.2  codePointAt

以前的 var s =“吉” (上面是"土",不是"士",编码是4字节) 用chatAt(0)和charCodeAt(0)只能返回2字节,而codePointAt(0)可以正确处理4字节。

var s = "吉";     //实际码点是134071
s.charCodeAt(0); //只能返回前2字节,55362
s.codePointAt(0); //能正确返回4字节,134071

1.3 String.fromCodePoint

同上,原来的fromCharCode只能处理2字节

String.fromCharCode(0x20BB7);  //返回不知名符号
String.fromCodePoint(0x20BB7); //正确处理4字节,返回"吉"(上面是"土")

1.4 includes,startsWith,endsWith

1.5 模板字符串

以前
'There are <b>' + count + '</b>'
现在
‘There are <b>${count}</b>‘

就是以前是字符串+号拼接很麻烦,现在在多行字符串反引号(`) 内用&{count}来代入值很方便。

思考:基本都是String扩展了一些API,方便使用。

五、正则的扩展

思考:能不查表随手就写正则的是真男人,我就不受折磨了....

六、数值的扩展

1.1 二进制和八进制的表示法

二进制 0b1010

八进制 0o767

1.2 Number的扩展

基本就是Number扩展了一些API

1.3 Math对象的扩展

基本就是Math扩展了一些API

1.4 指数运算符

思考:就是对数值的处理上,在Number、Math等原数值处理的工具类上扩展了接口。

待编辑...

 

ES6 阮一峰阅读学习的更多相关文章

  1. es6阮一峰读后感

    不经意间看了你一眼(阮一峰的es6读后感)我自己常用的 字符串篇:ES6 为字符串添加了遍历器接口(详见<Iterator>一章),使得字符串可以被for...of循环遍历.只要有遍历器接 ...

  2. ES6(阮一峰)学习总结

    1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域. { var a = 5; let b = 6; } console.log(a); co ...

  3. Class 学习 (Es6阮一峰)

    es5 构造函数 实例: function Point(x, y) { this.x = x; this.y = y; } Point.prototype.toString = function () ...

  4. ES6(阮一峰) 数组的扩展

    1.扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(1, ...[2, 3, 4], 5) // ...

  5. ES6特性:(阮一峰老师)学习总结

    ES6(阮一峰)学习总结   1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域. { var a = 5; let b = 6; } con ...

  6. 读阮一峰老师 es6 入门笔记 —— 第一章

    鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ,c ...

  7. 【js 笔记】读阮一峰老师 es6 入门笔记 —— 第一章

      鉴于最近用 vuejs 框架开发项目,其中有很多涉及到 es6 语法不太理解所以便认真地读了一下这本书. 地址:http://es6.ruanyifeng.com/#README 第一章:let ...

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

    最近正在学习阮一峰老师的es6(第三版)教材,在学到第七章<函数的扩展>中的箭头函数嵌套时,文中提到了一个关于“管道机制”的示例,文中源代码如下: //es6(第三版)教材中的管道机制源代 ...

  9. 阮一峰 ES6

    阮一峰 ES6:http://es6.ruanyifeng.com/#docs/module

随机推荐

  1. 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发

    HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上 ...

  2. Linux服务器安装svn

    云安装 yum install subversion 配置 1.配置仓库 [root@localhost /]# cd /home [root@localhost home]# mkdir svn [ ...

  3. 简要介绍DES、RSA MD5 sha1 四种加密算法的优缺点,以及使用场合

    美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立.密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合.RSA是非对称算法,加密密钥和解密密钥是不 ...

  4. ios Develop mark

    App Distribution Guidehttps://developer.apple.com/library/ios/documaentation/IDEs/Conceptual/AppDist ...

  5. linux下安装软件的常用方法

    在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种: 1)含有软件 ...

  6. eclipse中开发js会卡,去掉.project中的validate即可

    注释掉 <buildCommand> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> & ...

  7. re.match re.search re.findall区别

    re正则表达式里面,常用的三种方法的区别. re.macth和search匹配得到的是match对象,findall得到的是一个列表. match从字符串开头开始匹配,search返回与正则表达式匹配 ...

  8. python mysql 封装

    封装 观察前面的文件发现,除了sql语句及参数不同,其它语句都是一样的 创建MysqlHelper.py文件,定义类 #encoding=utf8 import MySQLdb class Mysql ...

  9. C# FileSystemWatcher 在监控文件夹和文件时的用法

    概述 最近学习FileSystemWatcher的用法,它主要是监控一个文件夹,当文件夹内的文件要是有更改就要记录下来,我就整理下我对FileSystemWatcher 的理解和用法. FileSys ...

  10. mac开机启动apache、memcached与mysql

    一.开机自动启动apache方法 #sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist //开机启动 ...