![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 81
海绵宝龙
记录自己的学习之路。
展开
-
对象的扩展
如果对象的方法使用了取值函数(getter)和存值函数(setter)则name 属性不实在该方法上面,而是在该方法属性的描述对象的get和set属性上面,返回值是方法名加上get和get。Object.assign复制的属性是有限制的,只复制源对象的自身属性(不复制继承属性)。ES5引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不包含继承的)所有可遍历属性的键名。也就是说,如果源对象某个属性的值是对象,那么目标对象复制得到的是这个对象的引用。Object.assign方法实行的。原创 2024-06-19 15:26:13 · 797 阅读 · 0 评论 -
数组的扩展
他的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true 的成员,然后返回该成员。ES6提供了3个新方法-----entries(),keys()和values() -----用于遍历数组。ES2016引入了该方法。数组实例的findIndex方法的用法于find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。JavaScript的函数只能返回一个值,如果需要返回多个值,只能返回数组或对象,扩展运算符提供了解决这个问题的一种变通方法。原创 2024-05-27 19:55:15 · 295 阅读 · 0 评论 -
函数的拓展
尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。上面的代码中,函数f的最后一步是调用函数g,这就叫做尾调用。以下情况都不属于尾调用。//情况一return y;//情况二//情况三g(x);上面的代码中,情况一是调用函数g之后还有赋值操作,所以不属于未调用,即使语义完全一样,情况二也属于调用后还有操作,即使写在一行内,情况三等同于下面的代码。g(x);原创 2024-05-25 12:57:44 · 400 阅读 · 0 评论 -
变量的结构赋值
解构赋值可以方便地将一组参数与变量名对应起来。原创 2024-05-12 14:49:28 · 309 阅读 · 0 评论 -
let和const命令
以上代码报错也是因为暂时性死区。然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确得值,这表明,let声明的变量只在其所在的代码块内有效,以上代码的愿意是,if代码块的外部使用外层的tmp变量,内部使用内层的tmp变量,但是,函数f执行后,输出结果为undefined,原因在于变量提升导致内层的tmp变量覆盖率外层的tmp变量。总之,暂时性死区的本质就是,只要进入当前作用域,所要使用的变量就已经存在,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。原创 2024-05-11 19:41:15 · 933 阅读 · 0 评论