zoukankan      html  css  js  c++  java
  • 读书笔记:深入理解ES6 (附录B)

    附录B:了解ES7(2016)

      ES6经历了4年的发展,之后TC-39决定将发布周期转换为每年一版,以确保新语言特性能够更快地发展。

      ES6中添加了三个语法特性,下面一一来讲。

    第1节 指数运算符

      1. 在之前的时候,可以通过 Math.pow() 方法来执行求幂运算,但这毕竟是一个方法,一些开发者更希望通过操作符就可以实现这个功能。所以在ES6中,使用了两个星号 “**”,来作为求幂运算符。其中:左操作数是基数,右操作数是指数。例如,

    1 let result = 5 ** 2;
    2 
    3 console.log(result); // 25
    4 console.log(result === Math.pow(5, 2));

      2. 求幂运算符在JavaScript所有二进制运算符中具有最高的优先级(一元运算符的优先级高于 **)。例如,

    1 let result = 2 * 5 ** 2;
    2 console.log(result); // 50

    第2节 Array.prototype.includes()方法

      1. 该方法接受两个参数:要搜索的值及开始搜索的索引位置,第二个参数可选。例如,

    1 let values = [1, 2, 3];
    2 
    3 console.log(values.includes(1)); // true
    4 console.log(values.includes(0)); // false
    5 
    6 // start the search from index 2
    7 console.log(values.includes(1, 2)); // false

      2. 注意,该方法和Object.is()方法有所不同。+0、-0在该方法中被认为是相同的,在Object.is()方法中被认为是不同的。

    第3节 函数作用域严格模式的一处改动

      函数中存在“use strict”时,实现运行在严格模式下的参数非常困难,因为参数默认值也可以是函数。这个难点导致大多数JavaScript引擎均不实现此功能,而是将其等同于全局对象。

      由于实现困难,ES2016规定在参数被解构或有默认参数的函数中,禁止使用 “use strict”指令。只有参数为不包含解构或默认值的简单参数列表时,才可以在函数体中使用 “use strict”。例如,

     1 //此处使用简单参数列表,可以运行
     2 function okay(first, second)
     3 {
     4     "use strict";
     5     return first;
     6 }
     7 
     8 //抛出语法错误
     9 function notOkay1(first, second=first)
    10 {
    11     "use strict";
    12     return first;
    13 }
    14 
    15 //抛出语法错误
    16 function notOkay2({ first, second })
    17 {
    18     "use strict";
    19     return first;
    20 }

    后记:该书一共十三章,加上后面两篇附录,也就是十五章的篇幅。从8.29号开始看,到现在整理完笔记,一共18天的时间。这半个多月的时间在持续地看书,做笔记,发布到博客,中间陆陆续续经历了一些想要放弃的念头,还是硬着头皮坚持下来了,这一刻,有一点 小小的激动,有一点小小的佩服自己。下面说一下自己在这一期间的一些感受、思考或者说收获吧,与大家分享。

       对于学习技术来说,现在获取信息的渠道越来越多。例如:培训机构、看书、视频、专栏、博客、微博,甚至公众号等,越来越多的渠道可以供我们选择。那么在这么烟花缭乱的情况下,我们应该如何选择适合自己的获取信息渠道呢?

       在我看来,这些渠道各有自己的优点,也有自己的缺点。下面一一来说一下自己的思考:

      1. 培训机构,有学习的氛围,但是学费、交通成本都比较大;

      2. 看书,相对系统,且有出版社为读者把关,图书内容质量有保证。缺点,可能更新速度比较慢。

      3. 视频,讲的细,有新的知识可以及时更新课程;但可能讲的比较慢,有的时候也不够系统。例如,在一些视频网站上学习某个语言的时候,发现它讲的只是整个知识体系中的一部分,你学完了视频,但是感觉掌握的还是不够系统,也就是说知识的完备性不够好。

      4. 专栏,一般属于提纲挈领式的,有深度,但是往往细节上可能稍微欠缺一些,这也是由它的篇幅决定的,但是好处就是可以随时随地在手机上看,比较方便。

      5. 博客、微博和公众号呢,好处是比较适合碎片化的时间去马上阅读一篇,欠缺的部分其实刚才也说过,一个是知识点的获取不够系统,另一个是它和出书不一样,可能内容的权威性需要读者有自己的思辨能力和判断能力。

      综上,这些渠道可以综合起来使用,使用它的优势部分,而对于它欠缺的地方,可能其他渠道可以做个弥补。所以,我们要灵活掌握和运用这些渠道,让自己的技术能力一步一步提升上去。同时还可以考虑增加和拓宽自己的知识面,不拘泥和局限于技术,以使我们的路越走越宽。

    (全书完)

  • 相关阅读:
    oracle+st_geometry
    php开发面试题---php面向对象详解(对象的主要三个特性)
    php开发面试题---Mysql常用命令行大全
    php开发面试题---Linux常用命令大全
    php开发面试题---vue面试题(vue.js的好处及作用)
    php开发面试题---数据库SQL调优的几种方式
    剑指offer---2、二叉搜索树的后序遍历序列
    MYSQL中IN与EXISTS的区别
    mysql笔试题大餐---2、exists加一些查询
    正确理解MySQL中的where和having的区别
  • 原文地址:https://www.cnblogs.com/zxxsteven/p/11523191.html
Copyright © 2011-2022 走看看