九月读书活动之《ECMAScript6入门》
9月读书活动之《ECMAScript6入门》
前言:
这次还是继续有一本不错的前端书,其实很早前就一直关注这本书,感谢社区
正文:
其实作为一个老前端,也一直关注过ECMAScript的发展,细到很小的api实现,大到每一个版本的大致方向。也写了不少相关的文章,但是从本书里面还是得到很多知识点:
- ECMAScript的历史:
- 98年,2.0发布
- 99年12月,3.0发布
- 07年10月份,4.0发布
- 08年7月,中止4.0开发,发布3.1版本,代号取名Harmony,后面改名5
- 09年12月,5.0正式发布:分为JavaScript.next和后来的6,还有JavaScript.next.next
- 11年6月,5.1版本发布
- 13年3月,6草案冻结
- 13年12月,6草案发布
- 15年6月,6预计发布正式版本
如何查看最新浏览器对ES6的支持:
- http://kangax.github.io/es5-compat-table/es6/
你可以很方便地看到你当前使用的浏览器支持的哪些特性,目前IE放到了11,同时还能看到Mobile相关的。
Traceur 编译器:
- 来自Google,可以把ES6代码编译成ES5代码
- 允许使用Traceur库文件来在浏览器里面使用
- 还支持在线转换
注意的:
- script标签的type不是常规的text/javascript,而是module。
- 编译器会自动把所有标记type=module的代码编译为ES5代码。
- 也支持外部文件
- npm模块里面能找到Traceur
ECMAScript 7
现在看也不遥远啦,13年3月,ES6草案封闭,新功能都被加入ES7
ES7包含的功能:
- Object.observe 双向数据绑定,现在很多MVC的框架都支持了
- Multi-Threading 多线程支持,RiverTail
- Traits class的替代,不同的对象可以分享特性
居然还有国际化支持,这个很赞啊,到时候得关注一下。
后面介绍了2个命令:
- let
类似var这种我们都熟悉的,但是let来声明的变量只能在let命令所在的代码块内有效。
其实就是所谓的【块级作用域】,这样立即执行的匿名函数就不再那么必要了。
- const
常量定义,而且一旦声明了,值不能改变
其实我们以前自己都是var来定义,然后大写,放在一个单独的文件里面,现在有了const,也不怕会被改变。
结语:
本书一如既往的详细而且易懂,通过试读也了解了一些原来没有太关注的东西,再次感谢出版社和社区的活动,作为老人,一定会继续支持下去的