`

试读《ECMAScript6入门》

 
阅读更多

       ECMA 对于前端开发工作的我并不陌生,《JavaScript高级程序设计》中对ECMA5的特性有很多的介绍,让我正确认识了什么是JavaScript,明白JavaScript由ECMA,DOM,BOM三个部分组成。

       ES5我都还没有完全掌握,ES6又来了(T_T),工作中写原生的js的情况很少,基本都使用js库比如jQuery,我记得网上很多人反对使用jQuery这样的库,觉得这样让jser们已经忘了js原生实现,如果脱离js库就变成“残疾jser”,很多功能浏览器兼容等问题无法解决......不过我还是觉得用js库方便很多,用jQuery操作DOM,用backbone开发单面应用,这会让工作变得简单,当然有空时也会去研究这些库的实现细节。

       ES5中让我觉得很爽的就是JSON的支持,数组方法indexOf(),map(),filter()等。这让编写代码变得简单。

       看了本书样章,ES6新增特性还真不少,class关键字、块作用域、新的数据结构等,让我突然觉得ES6会改变jser们对js理解了,特别是块作用域的引入,ES5中是没有块作用域,所以才出现立即执行函数,这些新的特性加入让js变得更加简洁,记得刚学js的时候理解立即执行函数、闭包想起就是痛呀。

       看着书让我忍不住动手去试试ES6新的特性。

 

<html>
<head>
	<meta charset="UTF-8">
	<title>es6</title>
	
</head>
<body>
	  <h1 id="message"></h1>
   
    <script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script>
    <script src="https://google.github.io/traceur-compiler/src/bootstrap.js"></script>
    <script>
      traceur.options.experimental = true;
    </script>
    <script type="module">
      class Greeter {
        constructor(message) {
          this.message = message;
        }

        greet() {
          let element = document.querySelector('#message');
          element.innerHTML = this.message;
        }
      };

      let greeter = new Greeter('Hello, world!');
      greeter.greet();
    </script>
</body>
</html>

 

     在github上有在线转换Try https://google.github.io/traceur-compiler/demo/repl.html 可以亲手体验ES6新特性。

       nodejs现在还真是无处不在,记得前几天雅虎停止开发YUI,在不同程度上受到nodejs,backbone等的冲击,不得不调整方针重新开发全新的前端库。

      let 命令是新的关键字,变量在块级作用域内有效。

      这个块级使用域完全不用考虑什么是闭包了,

      以前的方式:

   

var a=[];

    for(var i=0;i<5;i++){
      a[i] = function(){
        return i;
      }
    }
    console.log(a[0]());  //输出5
    console.log(a[1]());  //输出5
    console.log(a[2]());  //输出5

 

要想得到预想的结果须要下面这样做,用一个立即执行函数,让j有自己的作用域来保存i。

var a=[];
    for (var i = 0; i <5; i++) {
      a[i] = (
          function (j){
            return function(){
              return j; 
            };
      })(i)
    };
    console.log(a[0]()); //输出0
    console.log(a[1]()); //输出1
    console.log(a[2]()); //输出2
    console.log(a[3]()); //输出3

 现在ES6中变得简单

 

var a=[];

       for(var i=0;i<5;i++){
       	let c=i;
       	a[i] = function(){
       		return c;
       	}
       }

       console.log(a[0]()) //输出0
       console.log(a[1]()) //输出1 
       console.log(a[2]()) //输出2

 

      const声明常量,在java 都会有声明常量的关键字,常量很容易理解。

 

      “变量的解构赋值”会让人心动的,像下面这样声明一组变量是很轻松的事情。

var [a,b,c] = [1,2,3]
    console.log(a);

  “对象的解构赋值”看看下面代码,一组变量。

var {aa,bb} = {aa:{cc:33},bb:'22'};
    console.log(aa.cc);

    这些特性让编程变得更轻松

  1. 交换变量的值
  2. 从函数返回多个值
  3. 函数参数的定义
  4. ......

    ES6这些新特性值得期待,希望各浏览器尽快支持ES6,让我们踏上ES6的“快车”。

    学无止境,加油!

 

1
4
分享到:
评论

相关推荐

    《ECMAScript 6 入门-阮一峰》PDF完整版

    阮一峰先生的《ECMAScript 6 入门》是一本深入浅出介绍这一版本的权威指南。** 在ES6中,最重要的特性之一是类(Class)和模块(Module)。类的引入使得面向对象编程更加直观,它通过`class`关键字定义,提供了构造...

    ECMAScript 6 入门(第三版)

    **ECMAScript 6 入门(第三版)** ECMAScript 6,通常被称为ES6,是JavaScript语言的一个重大更新,它引入了一系列新的特性和语法改进,旨在提高开发效率和代码可读性。这本书“ECMAScript 6 入门(第三版)”为...

    ECMAScript 6 入门第三版.epub完整版电子版.zip

    一本开源的JavaScript语言教程ECMAScript 6入门,本版本为第三版,格式为.epub,需要使用专用的阅读器来打开。本教程全面介绍了ECMAScript新加入的语法及特征。带有目录阅读起来更方便,由于阅读级别为中级,所以只...

    ECMAScript 6 入门(第三版 )

    **ECMAScript 6 入门(第三版)** ECMAScript 6,简称ES6,是JavaScript语言的一个重大更新版本,正式名称为ECMAScript 2015。这个版本引入了大量的新特性,旨在提高开发效率、增强代码可读性和可维护性,以及为...

    ECMAScript 6 入门.epub

    《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例...

    ECMAScript 6 入门 (最新版)

    阮一峰老师著作,最新版epub格式电子书,在线地址:http://es6.ruanyifeng.com/,请支持纸质正版

    ecmascript 6 入门.pdf

    阮一峰所著的《ECMAScript 6 入门》是一本开源的JavaScript语言教程,详细介绍了ES6的新特性。本书适合有一定JavaScript基础的中级读者,旨在帮助他们了解这门语言的最新发展,也可以作为参考手册来查找新增的语法点...

    ECMAScript 6入门.pdf

    了解ECMAScript 6的入门知识,首先需要明白ECMAScript和JavaScript之间的关系。ECMAScript是JavaScript的语言规格,它定义了这门语言的语法和基本对象规范。JavaScript是ECMAScript的一个具体实现,事实上,它是最...

    《ECMAScript 6 入门》 Javascript nodejs 教程 阮一峰 带书签

    《ECMAScript 6 入门》是阮一峰编写的JavaScript编程教程,专注于介绍ECMAScript 6(也称为ES6或ES2015)的新特性和语法改进。这本书是JavaScript开发者深入理解现代JavaScript编程的基础读物,特别适合已经掌握基本...

    ECMAScript6入门 阮一峰 第三版

    ES6是下一代JavaScript语言标准的统称,每年6月发布一次修订版,迄今为止已经发布了3个版本,分别是ES2015、ES2016、ES2017。《ES6标准入门(第3版)》根据ES2017标准,详尽介绍了所有新增的语法,对基本概念、设计...

    ECMAScript 6入门 高清版.pdf

    编辑推荐 √ 横跨ES2015/2016/2017新标,抢占JavaScript制高点 √ 由千万级名博、布道引领无数前端入行的阮一峰执笔 √ 来自BAT一线实践,精彩案例透彻解读新标|保留语法 √ 新标首著,凝结多年研究心得,剖析ES理解...

    ECMAScript6入门.zip

    《ECMAScript 6入门》是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性。 本书力争覆盖ES6与ES5的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 本书为中级...

    ECMAScript 6入门 第二版 阮一峰 完整版

    阮一峰老师的《ECMAScript 6入门 第二版》是一本全面介绍这些新特性的权威指南。这本书详细讲解了ES6的关键知识点,为开发者提供了深入理解这一现代JavaScript版本的基础。** **1. **`let` 和 `const` 声明**:**在...

    阮一峰ECMAScript6入门 高清完整.pdf版下载

    阮一峰ECMAScript6入门.pdf,本书力争覆盖ES6与ES5的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 本书为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新...

    2018最新高清ECMAScript 6入门

    《2018最新高清ECMAScript 6入门》是一份全面介绍ECMAScript 6(ES6)的离线学习资料,由知名技术作者阮一峰编写。这份资源旨在帮助开发者掌握JavaScript语言的新特性,提升编程效率和代码质量。ES6,全称ECMAScript...

    ECMAScript 6入门 第二版 阮一峰 pdf高清完整版

    **ECMAScript 6入门 第二版 阮一峰 pdf高清完整版** ECMAScript 6(简称ES6)是JavaScript语言的一个重要版本更新,它引入了大量的新特性和改进,旨在提高开发效率和代码质量。这本书《ECMAScript 6入门 第二版》由...

    ECMAScript6入门

    《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。, 《ECMAScript6入门》为中级难度...

    ECMAScript 6 入门.epub 201806

    《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码...

Global site tag (gtag.js) - Google Analytics