随笔分类 -  ES6学习笔记

摘要:并集: 交集: 差集: 阅读全文
posted @ 2019-12-20 23:37 沐浴点阳光 阅读(3006) 评论(0) 推荐(0)
摘要:什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数。 如上,函数 f 的最后一步是调用函数g,这就叫做尾调用。 但是,如下情况并不属于尾调用: 1、调用g之后,还有赋值操作,所以不属于尾调用,即使语义完全一样;2、属于调用后还有操作,即使 阅读全文
posted @ 2017-12-19 15:07 沐浴点阳光 阅读(326) 评论(0) 推荐(0)
摘要:es6 引入了rest参数(形式:...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。 上面的代码的add函数是一个求和函数,利用reat参数,可以向该函数传入任意数目的参数。 下面是一个rest参数代替a 阅读全文
posted @ 2017-12-18 11:40 沐浴点阳光 阅读(2858) 评论(1) 推荐(0)
摘要:参数默认值可以与解构赋值的默认值,结合起来使用。 上面代码只使用了对象的解构赋值默认值,没有使用函数参数的默认值。 只有当函数foo的参数是一个对象时,变量x 和 y 才会通过解构赋值生成。如果函数foo调用时没提供参数,变量x 和 y就不会生成,从而报错。通过提供函数参数的默认值,就可以避免这种情 阅读全文
posted @ 2017-12-18 09:46 沐浴点阳光 阅读(510) 评论(0) 推荐(0)
摘要:es6的变量解构赋值很方便,那具体有哪些用途呢? 1、变换变量的值 这样n , m 的值 会互换, 即:n = 20, m = 10, 这种写法简洁,易读,语义清晰。 2、从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或者对象里返回,有了解构赋值,取出这些值就非常方便。 阅读全文
posted @ 2017-12-16 15:26 沐浴点阳光 阅读(347) 评论(0) 推荐(0)
摘要:Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。 Promise对象有以下两个特点。 (1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:P 阅读全文
posted @ 2017-06-06 15:13 沐浴点阳光 阅读(177) 评论(0) 推荐(0)
摘要:default 意思是默认值。大家可以看下面的例子,调用animal()方法时忘记了传参数,传统的做法就是加上这一句type= type || 'cat' 来指定默认值。 而ES6S则可以直接给形参添加默认值,如: rest 如果不用ES6的话,则要使用ES5的arguments 阅读全文
posted @ 2017-05-27 17:34 沐浴点阳光 阅读(264) 评论(0) 推荐(0)
摘要:ES6引入了class(类)的概念。新的class写法让对象原型的写法更加清晰、更像面向对象编程的语法,也更加通俗易懂。 上面的代码首先用了class定义了一个“类”,里面有个constructor方法,就是构造函数,而this关键字则代表实例对象。简单地说,constructor内定义的方法和属性 阅读全文
posted @ 2017-05-27 17:08 沐浴点阳光 阅读(457) 评论(0) 推荐(0)
摘要:ES5比较两个值是否相等, 相等运算符(==)和恒等运算符( )。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。 javascript缺乏一种运算,在所有环境中,只要两个值是一样的,就应该相等。 ES6提出“Same-value equality”(同值相等)算法, 阅读全文
posted @ 2017-04-21 16:36 沐浴点阳光 阅读(353) 评论(0) 推荐(0)
摘要:1.直接用标识符作为属性名: 2.用表达式作为属性名: 3.ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。 4.表达式用来定义方法名 5.注意,属性名表达式与简洁表示法,不能同时使用,会报错。 6.注意,属性名表达式如果是一个对象,默认情况下会自动将对象转 阅读全文
posted @ 2017-04-21 14:46 沐浴点阳光 阅读(4003) 评论(0) 推荐(1)