• ES6摘抄


    1、函数可选参数function log(x, y = 'World') {} 只能作为尾参数使用,因为如果不是尾参数还是要输入的。
    2、函数参数默认值与解构赋值结合使用。(注意对象冒号解构等号)
    function foo({x, y = 5}) {}
    一:解构要传递一个对象,如果不传递这个解构对象会报错,可以使用默认值来解决function foo({x, y = 5}={}) {}
    练习:
    // 写法一
    function m1({x = 0, y = 0} = {}) {
    return [x, y];
    }

    // 写法二
    function m2({x, y} = { x: 0, y: 0 }) {
    return [x, y];
    }
    3、rest参数
    function(...values){ }
    arguments对象不是数组,而是一个类似数组的对象。所以为了使用数组的方法,必须使用Array.prototype.slice.call先将其转为数组。rest 参数就不存在这个问题,它就是一个真正的数组,数组特有的方法都可以使用。

    4、箭头函数,一般用于匿名函数
    箭头函数有几个使用注意点。
    (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
    (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
    (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
    (4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

    一般叫lambda表达式,因为可以方便地改写lambda演算
    箭头函数还有一个功能,就是可以很方便地改写 λ 演算。

    // λ演算的写法
    fix = λf.(λx.f(λv.x(x)(v)))(λx.f(λv.x(x)(v)))

    // ES6的写法
    var fix = f => (x => f(v => x(x)(v)))
    (x => f(v => x(x)(v)));

    5、尾调用。
    调用帧,调用栈。调用函数会在内存中保存“调用记录”“调用帧”保存调用位置和调用信息,但是尾调用不需要保存调用帧,节省内存,这就是尾调用的意义。但是如果尾调用函数用到了不属于函数内部的变量,仍然要记录调用帧。
    尾递归。

  • 相关阅读:
    Python学习笔记4—列表List
    Python学习笔记3—字符串
    电力项目十六--数据字典二
    电力项目十五--数据字典
    maven项目引入jar包
    电力项目十四--js添加highslider特效
    电力项目十三--js添加浮动框
    电力项目十二--运行监控中添加进度条
    panzer 电力项目十一--hibernate操作大文本字段Blob和Clob
    电力项目十--整合文本编辑器
  • 原文地址:https://www.cnblogs.com/gdpw/p/9369167.html
Copyright © 2020-2023  润新知